python中pymysql模块的使用(二)
- 创建数据库:
- 数据库插入操作 :
- 数据库更新操作 :
- 删除操作:
- 执行事务 :
创建数据库:
#请求MySQL数据库
import pymysql
# 打开数据库连接
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='python', db='myschool', charset='utf8')
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = conn.cursor()
# 使用 execute() 方法执行 SQL,如果表存在则删除
cursor.execute("drop table if exists myNEW")
# 使用预处理语句创建表
sql = "create table myNew ( `naem`CHAR(20) NOT NULL,`age` INT,`sex` CHAR(1))"
#执行语句,创建数据库
cursor.execute(sql)
# 提交,不然无法保存新建或者修改的数据
conn.commit()
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
数据库插入操作 :
#请求MySQL数据库
import pymysql
# 打开数据库连接
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='python', db='myschool', charset='utf8')
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = conn.cursor()
# SQL 插入语句
sql = "insert into myNew(`name`,`age`,`sex`) values ('Mac', 20, '男')"
try:
# 执行sql语句
cursor.execute(sql)
# 提交到数据库执行
conn.commit()
except:
# 如果发生错误则回滚
conn.rollback()
#对数据进行查找
print(cursor.execute('select * from myNew'))
print(cursor.fetchall())
'''
输出为 --> 执行了俩次 执行几次插入几次
2
(('Mac', 20, '男', None), ('Mac', 20, '男', None),
'''
# 提交,不然无法保存新建或者修改的数据
conn.commit()
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
数据库更新操作 :
#请求MySQL数据库
import pymysql
# 打开数据库连接
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='python', db='myschool', charset='utf8')
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = conn.cursor()
# SQL 更新语句
sql = "update myNew set `age` = 23 + 1 where `sex` = '男'"
try:
# 执行sql语句
cursor.execute(sql)
# 提交到数据库执行
conn.commit()
except:
# 如果发生错误则回滚
conn.rollback()
#对数据进行查找
print(cursor.execute('select * from myNew'))
print(cursor.fetchall())
'''
输出为 --> 执行了俩次 执行几次插入几次
(('Mac', 24, '男', None)
'''
# 提交,不然无法保存新建或者修改的数据
conn.commit()
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
删除操作:
#请求MySQL数据库
import pymysql
# 打开数据库连接
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='python', db='myschool', charset='utf8')
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = conn.cursor()
# SQL 删除语句
sql = "delete from myNew WHERE age > 20"
try:
# 执行sql语句
cursor.execute(sql)
# 提交到数据库执行
conn.commit()
except:
# 如果发生错误则回滚
conn.rollback()
#对数据进行查找
print(cursor.execute('select * from myNew'))
print(cursor.fetchall())
'''
已经全部删除
0
()
'''
# 提交,不然无法保存新建或者修改的数据
conn.commit()
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
执行事务 :
对于支持事务的数据库, 在Python数据库编程中,当游标建立之时,就自动开始了一个隐形的数据库事务。
commit() 方法游标的所有更新操作
rollback()方法回滚当前游标的所有操作。每一个方法都开始了一个新的事务。
try:
# 执行SQL语句
cursor.execute(sql)
# 向数据库提交
db.commit()
except:
# 发生错误时回滚
db.rollback()