【编程实践】使用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)
