# -*- coding:utf-8 -*-
import pymysql
import contextlib
#定义上下文管理器,连接后自动关闭连接
@contextlib.contextmanagerdef
mysql(host='localhost', port=3306, user='root', passwd='', db='testdb',charset='utf8'):
# 创建连接
conn = pymysql.connect(host=host, port=port, user=user, passwd=passwd, db=db, charset=charset)
# 创建游标
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
try:
yield cursor
except Exception as e:
#事务失败时回滚
conn.rollback()
print('事务处理失败:', e)
else:
# 提交,不然无法保存新建或者修改的数据
conn.commit()
print('事务处理成功')
finally:
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
print('关闭所有连接')
#查
with mysql() as cursor:
sql = "select * from tb1"
cursor.execute(sql)
print(cursor.fetchall())
#增
with mysql() as cursor:
sql = "INSERT INTO tb1 (name,pwd) VALUES ('%s','%s')"%('ZHANG','123456')
# sql = "INSERT INTO tb1 (name,pwd) VALUES ('ZHANG','123456')"
cursor.execute(sql)
#改
with mysql() as cursor:
sql = "UPDATE TB1 SET NAME='ZHANG1' WHERE UID=1"
cursor.execute(sql)
#删
with mysql() as cursor:
sql = "DELETE FROM TB1 WHERE UID=1"
cursor.execute(sql)
PyMysql--笔记
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 新用户往往对于印象笔记的笔记、笔记本、笔记本组感到纠结。从了解到的情况来看,这种纠结主要是由于日常使用Window...
- 在当今这个信息爆炸的年代,充斥着各种信息,良莠不齐。没有价值的信息看一眼就好,有用的信息则需要归纳、整理,没有经过...