PyMysql--笔记

# -*- 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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 新用户往往对于印象笔记的笔记、笔记本、笔记本组感到纠结。从了解到的情况来看,这种纠结主要是由于日常使用Window...
    嵇嘉理阅读 13,600评论 1 6
  • 在当今这个信息爆炸的年代,充斥着各种信息,良莠不齐。没有价值的信息看一眼就好,有用的信息则需要归纳、整理,没有经过...
    伯虔阅读 42,940评论 17 128
  • 我一直在想从小到大我的口语得到了多少训练,身为江苏学生考入上海,本身比起全国英语水平,江浙沪应该是要高一截的,然而...
    REDLAT阅读 247评论 1 1
  • 我們相聚在人海,離別時也在人海。 或許你們總覺得我很傷感,沒辦法這是我的性格,習慣了這樣,改不了,請原諒我。 ...
    默落_阅读 157评论 0 0
  • 那场童年的雪 被今冬的雪人 轻轻吻醒 于是, 它用了一个冬天 去寻找 那串丢在风里的笑声 和那双在空气中 划出快乐...
    晨光微晓阅读 238评论 0 0