MySQL数据库:12、PyMySQL模块
MySQL数据库
一、pyMySQL
1、简介
pyMySQL是python中的一个第三方模块,通过下载并导入模块,可以在python中直接操作SQL语句,对MySQL数据库进行CRUD(增删改查)操作
2、常用方法
# 1、导入模块
import pymysql
# 2、创建mysql客户端对象
client_sql = pymysql.connect(host='127.0.0.1', port=3306, user='root'
, password='123', db='db', charset='utf8mb4',
autocommit=True)
'''
connect:生成mysql客户端对象
host:mysql服务端IP
port:端口号
user:用户名
password:登陆密码
db:需要操作的库的名字(地址)
charset:设置库的编码类型
autocommit:默认开启添加、删除、修改功能,不需单独确认
若该参数不单独指定的话默认为False,只能查看数据库
需要添加、删除、修改需要单独指定:commit()进行二次确认
'''
# 3、产生游标对象
cursor = client_sql.cursor(cursor=pymysql.cursors.DictCursor)
'''
cursor():
生成游标对象
后方参数可以不填,反馈的数据是元组,指定性不强(看不到数据对应字段名)
'''
# 4、编写SQL语句
sql = 'select * from emp_1;'
# 5、发送sql语句到服务端,接收返回值(返回值是数据的行数)
affect_rows = cursor.execute(sql)
# 6、打印数据的行数
print(affect_rows)
# 7、获取执行结果
# res = cursor.fetchall()
# res = cursor.fetchone()
# res1 = cursor.fetchone()
# res2 = cursor.fetchone()
res = cursor.fetchmany(5)
'''
接收结果的方式有三种:
1、fetchall():
一次性接收全部数据,就收之后无法再次获取,类似于迭代取值
2、fetchone():
一个变量名只能接收一行数据
3、fetchmany():
在后方参数内指定接收数据的行数,指定多少接收多少
'''
# 打印输出结果
print(res)
# print(res1)
# print(res2)