编程实践使用python读取MySQL数据库中的数据
目录
【编程实践】使用python读取MySQL数据库中的数据
0 工具介绍
python平台:Spyder
数据库平台:MySQL
数据库管理工具: Navicat Premium
1 实施流程
1.1 向程序中导入库
当前,python3及以上版本已经不支持原来的库mysqldb,需要用pymysql。安装pymysql方法和过程比较简单。
打开Anaconda Prompt,找到自己当前环境,在此环境下pip install pymsql进行安装(如果是失败的话,进行重试,或conda install pymysql)。
同时,需要向程序中导入pandas库。
// 导入需要的库
import pandas as pd
import pymysql
1.2配置连接信息
语句如下:
//
sql_connection = pymysql.connect(host='localhost', user='root', password='***********',db='area', port=3306, autocommit=False, charset='utf8mb4')
① host:主机名称
② user:用户名
③ password:密码,这个密码是自己设置的数据库密码
④ db:数据库名称
⑤ port:端口
⑥ autocommit:自动提交,默认关闭
⑦ charset:字符编码
1.3 SQL查询语句
//
sql = "select * from area.ea_edges"
① * 代表查询所有
② area 代表数据库名称
③ ea_edges 代表数据库中表名称
1.4 利用pandas读取数据
//
df_sql = pd.read_sql(sql,sql_connection)#参数:查询语句+连接配置
1.5 查询结果
//
print(df_sql)
此处限定查询结果可以有两种方式:
第一种:查询语句的限定,“select * from area.ea_edges”。[*]可以替换成其他列名,[Id] or [Label] 等等
第二种:储存数据的限定,df_sql.Id、df_sql.Label即为相应行数据。
1.6 完整程序
// just a record of learning
import pandas as pd
import pymysql
sql_connection = pymysql.connect(host='localhost', user='root', password='571023600',
db='area', port=3306, autocommit=False, charset='utf8mb4')
sql = "select * from area.ea_edges"
df_sql = pd.read_sql(sql,sql_connection)
print(df_sql)