PyMySQL基本使用

来源:互联网 发布:陆行鲨机甲风暴java 编辑:程序博客网 时间:2024/06/09 18:19
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")#创建表usersql_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()

原创粉丝点击