PyMySQL基本使用

import pymysql

#打开数据库 (如果连接失败会报错)
#db = pymysql.connect(host = '127.0.0.1', port = 3306, user = 'minbo', passwd = '123456', db = 'pythontest')
db = pymysql.connect(host = '127.0.0.1', port = 3306, user = 'minbo', passwd = '123456', db = 'pythontest', charset="utf8")

#获取游标对象
cursor = db.cursor()

#执行sql查询操作
sql_select = "select version()"
cursor.execute(sql_select)

#使用fetchone()获取单条数据
data = cursor.fetchone()
print("DB version is : %s" % data)

#如果user表存在,就删除
cursor.execute("drop table if exists user")

#创建表user
sql_create = "create table user(id int, name varchar(10)) engine = innodb charset = utf8"
cursor.execute(sql_create)

#插入操作
sql_insert = '''insert into user(id, name) values (2, "李明")'''
try:
    #执行sql
    cursor.execute(sql_insert)
    db.commit()
except:
    #发生异常
    db.rollback()

#查询操作
sql_select = '''select * from user'''
try:
    #执行sql语句
    cursor.execute(sql_select)
    #获取所有记录列表
    result = cursor.fetchall()
    for row in result:
        id = row[0]
        name = row[1]
        print("id = %d, name = %s" % (id, name))
except:
    print("Error: unable to fecth data")

#执行事务
'''事务机制可以确保数据的一致性
    1.事务有四个属性:原子,一致,隔离,持久;通常称为ACID
    2.Python DB API2.0的事务提供了两个方法:commit 和 rollback
    3.对于支持事务的数据库,在python数据库编程中,当游标建立之时,就自动开始了一个隐形的数据库事务,
    这个区别于mysql客户端,commit()方法提交所有的事务,rollback()方法回滚当前游标的所有操作。每个方法都开启了一个新的事务'''
#例子
sql_insert = '''insert into test(id, name) values (1, 'china')'''
try:
    cursor.execute(sql_insert)
    db.commit()
except:
    db.rollback()

print("end")
#关闭连接
db.close()

  • 6
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值