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()
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值