# -*- coding: UTF-8 -*-
import pymysql
con = pymysql.connect(
host='localhost',
user='root',
passwd='123456',
db='mysql',
charset='utf8',
autocommit= True, # 当设定自动提交后,后面则不需要commit()进行提交
# 打开数据库连接,cursorclass=pymysql.cursors.DictCursor 返回结果作为一个字典
cursorclass= pymysql.cursors.DictCursor
)
# ---------- 创建表格 ----------------
# sql1 = """create table pysql(
# id int primary key auto_increment,
# title varchar(255) not null unique,
# content text not null) default character set=utf8 engine=InnoDB
# """
#
# #cursor() 用于创建游标执行mysql语句
# with con.cursor() as cursor:
# cursor.execute(sql1)
# ---------- 插入数据start ----------------
# with con.cursor() as cursor:
# sql = 'INSERT INTO pysql(title,content) VALUES (%s,%s)'
# res = cursor.execute(sql,args=('测试标题2','测试内容2'))
# # 返回影响的行数
# print(res)
#
# con.commit() # 只有影响内容改变的时候才需要进行commit,如果是查询则不需要
# con.close()
# ---------- 条件查询 ----------------
# with con.cursor() as cursor:
# sql = 'SELECT * FROM pysql WHERE id = %s '
# cursor.execute(sql,args=(3,))
# # 返回影响的行数
# res = cursor.fetchone()
# print(res)
# ---------- 内容更新 ----------------
# with con.cursor() as cursor:
# sql = 'update pysql SET title= %s WHERE id = %s '
# cursor.execute(sql,args=('python2','4'))
# # 返回影响的行数
# cursor.fetchone()
#
# con.commit() # 除查询外均需要使用commit()进行提交
# con.close()
# ---------- aotucommit使用 ----------------
# with con.cursor() as cursor:
# sql = 'update pysql SET title= %s WHERE id = %s '
# cursor.execute(sql,args=('python是啥子东西','4'))
# # 返回影响的行数
# cursor.fetchone()
#
# #con.commit() # 漆面使用量aotucommit 则不用再进行提交
# con.close()
# ---------- 回滚操作 ----------------
# with con.cursor() as cursor:
# sql = 'update pysql SET title= %s WHERE id = %s '
# cursor.execute(sql,args=('回滚成功的样子','4'))
# con.begin() # 回滚操作 一般用于变更内容失败时使用
# sql = 'update pysql SET title= %s WHERE id = %s '
# cursor.execute(sql,args=('回滚失败的样子','4'))
# con.rollback()
#
# #con.commit() # 漆面使用量aotucommit 则不用再进行提交
# con.close()
pymysql 增删改查
最新推荐文章于 2022-08-21 20:10:41 发布