简介
官方文档
https://pymysql.readthedocs.io/en/latest/index.html
安装
pip install PyMySQL
说明
connection对象
连接对象,可创建数据库连接,创建对象的类为class pymysql.connections.Connection
,该对象的操作如下
方法 | 说明 |
---|---|
begin() | 开启事务 |
close() | 关闭连接 |
commit() | 提交 |
rollback() | 回滚 |
cursor(cursor=None) | 创建游标 |
open | 当连接打开返回true |
ping(reconnect=True) | 检测连接是否活着 |
select_db(db) | 选择数据库(相当于数据库命令 use) |
show_warnings() | 显示警告 |
cursor对象
主要使用class pymysql.cursors.Cursor(connection)
,方法or属性说明如下
方法/属性 | 说明 |
---|---|
close() | 关闭游标 |
execute(query,args=None) | 执行sql语句,args接收tuple/dict/list类型的参数,返回影响数量 |
executemany(query) | 执行sql语句(批量数据) |
fecthall() | 查询符合条件的全部 |
fecthmany(size=None) | 查询符合条件的多条 |
fecthone() | 查询一条(next) |
max_stmt_length=1024000 | executemany批量处理数据的最大值 |
mogrify(query, args=None) | 返回通过调用execute()方法发送到数据库的确切字符串 |
其他cursor对象详见文档
使用
连接数据库
初始化数据库
# 导入pymysql
import pymysql
# 创建连接
conn = pymysql.connect(host='localhost',
user='root',
password='root',
database='tst',
charset='utf8')
# 创建游标
cursor = conn.cursor()
数据查询
select_sql = 'select * from content'
cursor.execute(select_sql)
res = cursor.fetchall()
print(res)
增删改
# 要执行的增删改sql语句
update_sql = 'UPDATE content SET name`=%s WHERE id=%s'
# 执行语句
cursor.execute(update_sql, ['xiaixai',2])
# 提交
conn.commit()
示例
# 创建连接
conn = pymysql.connect(host='localhost', user='root', password='root', database='tb', charset='utf8')
# 创建游标
cursor = conn.cursor()
# 查询数据
select_sql = 'select * from content'
cursor.execute(select_sql)
# res = cursor.fetchone()
res = cursor.fetchall()
# res = cursor.fetchmany(2)
print(res)
# 插入数据
insert_sql = 'insert into content(name) values(%s)'
# res = cursor.execute(insert_sql, ['xiaozhong'])
res = cursor.executemany(insert_sql, ['xiaoxi', 'xiaobei', 'xiaonan']) # 批量插入
print(res) # 影响条数
conn.commit()
#
# 修改数据
update_sql = 'UPDATE content SET name=%s WHERE id=%s'
# res = cursor.execute(update_sql, ['xiaodong', 1])
res = cursor.executemany(update_sql, [('xiaozhong', 1), ('小小xiao', 2)])
print(res)
conn.commit()
# 删除数据
delete_sql = 'delete from content WHERE id=%s'
# res = cursor.execute(delete_sql, [1])
res = cursor.executemany(delete_sql, [1, 2, 3,4])
print(res)
conn.commit()
# 注意处理数据后记得关闭游标和连接
cursor.close()
conn.close()
版权声明:本文为weixin_37008947原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。