因为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 sxtDEFAULT 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')# 获取操作数据的对象 cursorcursor = con.cursor()# 编写SQL-DML# sql = "INSERT INTO t_user VALUES (0,'貂的蝉',18,'女');"sql = "INSERT INTO t_user VALUES (0,%s,%s,%s);"args = ('刘备',22,'男')# 执行SQLcursor.execute(sql,args)# 提交事务con.commit()# 关闭Cursorcursor.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)