# -*- 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...
- 在当今这个信息爆炸的年代,充斥着各种信息,良莠不齐。没有价值的信息看一眼就好,有用的信息则需要归纳、整理,没有经过...