数据库连接

Posted halo_vagabond

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库连接相关的知识,希望对你有一定的参考价值。

  Python初次连接数据库总结

  用JDBC访问Oracle,即java连接本机数据库的时候,地址用localhost和127.0.0.1都可以。但是这两者有什么区别?哪个更好?有很多人认为这两个是完全一样的,也有人认为127.0.0.1更好,因为是本地IP,不需要从域名解析。

一. 两者区别

1. localhost也叫local ,正确解释为:本地服务器;

   127.0.0.1在系统的正确解释是:本机地址(本机服务器)。

2. localhot(local)是不经网卡传输!所以它不受网络防火墙和网卡相关的的限制。访问localhost也不会解析成ip,不会占用网卡、网络资源;

   127.0.0.1是需要通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。

3. 这就是为什么有时候用localhost可以访问,但用127.0.0.1就不可以的情况,所以还是尽量用localhost。

二. 数据库默认端口号

SQL Server 1433   ; Oracle  1521  ; mysql  3306  。

三. Python访问数据库实例

1. 将数据原始文件“law.sql”导入数据库(windows环境下)

  1) 在设置过环境变量后,进入数据库:

  C:\>MySQL -h hostname -u username -p

  按ENTER键,等待然后输入密码。这里hostname为服务器的名称,如localhost,username为MySQL的用户名,如root。

  2) 创建数据库:

  mysql->create database mydb1

  3) 退出MySQL:

  exit; 或quit;

  4) 导入数据:

  C:\>MySQL -h hostname -u username -p mydb1 < law.sql

2. Python访问数据库

 1 #!/usr/bin/env python
 2 #-*- coding:utf-8 -*-
 3 
 4 import pandas as pd 
 5 from sqlalchemy import create_engine  #create_engine建立连接
 6 
 7 engine=create_engine(mysql+pymysql://root:[email protected]:3306/mydb1?charset=utf8)
 8 #engine=create_engine(‘mysql+pymysql://root:[email protected]:3306/mydb1?charset=utf8‘)
 9 
10 sql=pd.read_sql(all_gzdata,engine,chunksize=10000)  
11 
12 ‘‘‘
13 用create_engine建立连接,连接地址的意思依次为“数据库格式(mysql)+程序名(pymysql)+账号密码@地址端口/数据库名(mydb1)”,最后指定编码为utf8;
14 all_gzdata是表名,engine是连接数据的引擎,chunksize指定每次读取1万条记录。这时候sql是一个容器,为真正读取数据。
15 ‘‘‘

 

以上是关于数据库连接的主要内容,如果未能解决你的问题,请参考以下文章

部分代码片段

使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段

用于数据加载的 Android 活动/片段职责

连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段

谷歌地图片段显示,但没有地图

片段中的 Asynctask 未到达 onPostExecute