因为Python和MySQL是2套软件,所以在互相交互的时候需要一个“桥梁”。这个“桥梁”就是驱动!
-
mysqldb又叫MySQL-python
- 优点:基于C开发的库,速度快
- 缺点:在 Windows 平台安装非常不友好,经常出现失败的情况,多年不更新了,只兼容python2
-
mysqlclient
- 优点:基于C开发的库,速度快,兼容python3
- 缺点:编译安装可能会导致报各种错误
-
pymysql
- 优点:纯 Python 实现的驱动,兼容python3,使用简单
- 缺点:速度不如mysqldb
-
【示例】创建数据库
-
import pymysql
# 链接数据库
con = pymysql.connect(host='localhost',port=3306,user='root',passwd='root',charset='utf8')
# 获取一个和数据库交互的工具cursor
coursor = con.cursor()
# 编写SQL
sql = '''
CREATE DATABASE sxt
DEFAULT CHARACTER SET = 'utf8mb4';
'''
# 执行SQL
coursor.execute(sql)
# 关闭cursor
coursor.close()
# 关闭链接
con.close()
-
def add_one():
# 链接数据库
con = pymysql.connect(host='localhost',port=3306,user='root',passwd='root',db='sxt',charset='utf8')
# 获取操作数据的对象 cursor
cursor = con.cursor()
# 编写SQL-DML
# sql = "INSERT INTO t_user VALUES (0,'貂的蝉',18,'女');"
sql = "INSERT INTO t_user VALUES (0,%s,%s,%s);"
args = ('刘备',22,'男')
# 执行SQL
cursor.execute(sql,args)
# 提交事务
con.commit()
# 关闭Cursor
cursor.close()
# 关闭链接
con.close()
-
-
-
-
-
#导入模块
import pymysql
#创建连接
con = pymysql.connect(host='localhost',user='root',password='root',db='db_test',
charset='utf8')
#创建游标对象cursor
cursor=con.cursor()
sql='select * from t_user'
#执行sql
cursor.execute(sql)
#获取结果集
# result = cursor.fetchall()
# result = cursor.fetchmany(2)
result = cursor.fetchone()
print(result)
# print(cursor.rowcount)