分享

PyMySQL基本使用

 rcylbx 2018-11-23

PyMySQL基本使用

2018年04月15日 18:02:19 feng98ren 阅读数:41 标签: pymysql 更多
个人分类: Python

PyMySQL基本使用


转载:https://blog.csdn.net/lmb1612977696/article/details/78166180



  1. import pymysql  
  2.   
  3. #打开数据库 (如果连接失败会报错)  
  4. #db = pymysql.connect(host = '127.0.0.1', port = 3306, user = 'minbo', passwd = '123456', db = 'pythontest')  
  5. db = pymysql.connect(host = '127.0.0.1', port = 3306, user = 'minbo', passwd = '123456', db = 'pythontest', charset="utf8")  
  6.   
  7. #获取游标对象  
  8. cursor = db.cursor()  
  9.   
  10. #执行sql查询操作  
  11. sql_select = "select version()"  
  12. cursor.execute(sql_select)  
  13.   
  14. #使用fetchone()获取单条数据  
  15. data = cursor.fetchone()  
  16. print("DB version is : %s" % data)  
  17.   
  18. #如果user表存在,就删除  
  19. cursor.execute("drop table if exists user")  
  20.   
  21. #创建表user  
  22. sql_create = "create table user(id int, name varchar(10)) engine = innodb charset = utf8"  
  23. cursor.execute(sql_create)  
  24.   
  25. #插入操作  
  26. sql_insert = '''insert into user(id, name) values (2, "李明")'''  
  27. try:  
  28.     #执行sql  
  29.     cursor.execute(sql_insert)  
  30.     db.commit()  
  31. except:  
  32.     #发生异常  
  33.     db.rollback()  
  34.   
  35. #查询操作  
  36. sql_select = '''select * from user'''  
  37. try:  
  38.     #执行sql语句  
  39.     cursor.execute(sql_select)  
  40.     #获取所有记录列表  
  41.     result = cursor.fetchall()  
  42.     for row in result:  
  43.         id = row[0]  
  44.         name = row[1]  
  45.         print("id = %d, name = %s" % (id, name))  
  46. except:  
  47.     print("Error: unable to fecth data")  
  48.   
  49. #执行事务  
  50. '''事务机制可以确保数据的一致性  
  51.     1.事务有四个属性:原子,一致,隔离,持久;通常称为ACID  
  52.     2.Python DB API2.0的事务提供了两个方法:commit 和 rollback  
  53.     3.对于支持事务的数据库,在python数据库编程中,当游标建立之时,就自动开始了一个隐形的数据库事务,  
  54.     这个区别于mysql客户端,commit()方法提交所有的事务,rollback()方法回滚当前游标的所有操作。每个方法都开启了一个新的事务'''  
  55. #例子  
  56. sql_insert = '''insert into test(id, name) values (1, 'china')'''  
  57. try:  
  58.     cursor.execute(sql_insert)  
  59.     db.commit()  
  60. except:  
  61.     db.rollback()  
  62.   
  63. print("end")  
  64. #关闭连接  
  65. db.close()  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多