python连接mysql数据库的完整流程
#安装pymysql: pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple
import pymysql
2、创建连接对象
# 创建连接对象
con = pymysql.connect(
host='localhost', # 数据库主机地址
user="root", # 数据库用户名
password="1234" , # 数据库密码
database=None, # 可以指定连接某个数据库
port=3306, # 端口号, 默认是3306
charset='utf8' # 使用的编码
)
#这里创建的游标是 可以返回带字段名的字典
cur = con.cursor(cursor = pymysql.cursors.DictCursor)
4、执行sql语句
# 调用游标对象的execute()方法执行sql语句
sql = 'show databases'
cur.execute(sql)
注意:对表进行增删改的操作需要提交事务
con.commit()
5、关闭connection对象和cursor对象
查询结果的释放,关闭connection对象和cursor对象
cur.close()
con.close()
6、最终,直接转为DataFrame
# 建议直接转变成DataFrame
import pandas as pd
pd.DataFrame(mycursor)
完整代码
#导入包
import pymysql
#建立连接
con = pymysql.connect(host='localhost', user="root", password="1234" , database=None, port=3306, charset='utf8')
#获取游标对象,执行sql命令
cur = con.cursor()
#执行查询语句
sql = 'show databases'
sql2 = 'use test'
sql3 = 'select top 10 * from dapt'
sql4 = '''insert into dept(deptno,dname,loc) values(50,'test','test')'''
#cursor 需要通过.fetchont()/.fetchmany()/.fetchall()的方法来返回查询结果
cur.fetchall()
cur.execute(sql4)
#对表进行增删改 的操作 需要提交事务,确认该操作
con.commit()
#提交事务后,回滚就会无效,若不提交事务 该增删改 的行为会被消除
con.rollback()
#关闭connection对象和cursor对象
cur.close()
con.close()