使用Python的pymysql包与Mysql进行交互——连接、建库、建表、插入数据
☆☆文档均为作者手写,大部分源码都已经贴上。
‘赠人玫瑰、手留余香’,如果这篇文档对您有帮助,请给作者点一个小红心,万分感谢。
文章目录
0 背景及配置
0.1 背景
作者接触到的某一项目,由于Python可使用库非常多、处理效率较高等优点。所以,在该项目运用到Python与Mysql进行了如下交互:
- 从爬虫、收集统计文献等渠道获取的数据要存入到项目原始数据库,可以利用Python与XML的交互将EXCEL或其他形式存储的数据转为固定好XML格式的数据,然后通过JAVA后端写好的平台,以XML格式的文件将数据传输至Mysql.
- 从Mysql读取了原始数据,需要对数据进行加工、清洗,然后直接写入Mysql,这就涉及到了连接加工库、建库、建表、写数据的操作。
作者已经利用Python将数据写成固定格式的XML实现了。读者可根据自身项目或不同需求,按照不同的格式去创建自己的XML。
现在,作者将针对第二点,使用Python启动SQL语句来与MYSQL进行交互。
0.1 环境
本机环境:
- 系统: win 9
- Python版本: python3.6.4
- MySQL版本: 5.7.23
- Navicat Premium版本: 12.0
第三方包:
- pymysql
安装方法:
pip install pymysql
1 与Mysql交互
1.1 连接,获取游标
根据Mysql自身的规则,再进行写入、导出的时候,均需要先获取数据库的连接及执行游标。可以根据IP、密码、库名来连接:
conn = pymysql.connect(host='', user='', password='', charset='')
cursor = conn.cursor()
在实际工作中,可能要连接多个数据库,所以可以把host\user\psd等存储为字典:
def get_sql_conn(DB):
"""
通过字典的方式连接,有一点好处,就是需要连接多个库、表的时候,可以创建多个字典,好区分.
:return: 返回mysql数据库的连接与游标
"""
try:
conn = pymysql.connect(host=DB["host"], user=DB["user"], password=DB["password"], db=DB["db"],
charset=DB["charset"])
cursor = conn.cursor()
print("连接Mysql成功.")
except Exception as e:
conn = pymysql.connect(host=DB["host"], user=DB["us