【编程实践】使用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)
经验分享 程序员 微信小程序 职场和发展