分享

python对数据库的增删改查

 snailzen 2018-08-22
  1. #coding:utf-8
  2. import MySQLdb
  3. db=MySQLdb.connect(host='localhost',user='root',passwd='123',db='08day5')
  4. cur=db.cursor(cursorclass=MySQLdb.cursors.DictCursor)#以字典的形式展示
  5. #cur=db.cursor()
  6. #如果数据表已经存在,则使用execute()方法删除
  7. cur.execute('DROP TABLE IF EXISTS EMPLOYEE')
  8. #创建数据表
  9. sql='''CREATE TABLE EMPLOYEE(
  10. id INT PRIMARY KEY AUTO_INCREMENT,
  11. first_name VARCHAR(20) NOT NULL,
  12. last_name VARCHAR(20),
  13. age INT,
  14. sex CHAR(1),
  15. income FLOAT
  16. )'''
  17. cur.execute(sql)
  18. #插入操作(写法1)
  19. sql='''INSERT INTO EMPLOYEE(first_name,last_name,age,sex,income)
  20. values('xiaoqing','zhang',20,'W',2400)'''
  21. try:
  22. cur.execute(sql)#执行sql语句
  23. db.commit()#提交到数据库执行
  24. except:
  25. db.rollback()#Rollback in case there is any error!
  26. #插入操作(写法2:注意引号的结束位置 以及 续行符的使用)
  27. sql="INSERT INTO EMPLOYEE(first_name,last_name,\
  28. age,sex,income) \
  29. VALUES('%s','%s','%d','%c','%f')" % \
  30. ('wuji','zhang',34,'M',3400.8)
  31. try:
  32. cur.execute(sql)#执行sql语句
  33. db.commit()#提交到数据库执行
  34. except:
  35. print 'there is some error!'
  36. db.rollback()#发生错误时,回滚!
  37. #查询操作
  38. sql="SELECT * FROM EMPLOYEE WHERE income > '%d'" % (1000)
  39. try:
  40. cur.execute(sql)
  41. results=cur.fetchall()
  42. print results
  43. except:
  44. print 'there is some error!'
  45. #更新操作
  46. sql="UPDATE EMPLOYEE SET AGE=AGE+1 WHERE SEX='%c'" % ('M')
  47. try:
  48. cur.execute(sql)#执行sql语句
  49. db.commit()#提交到数据库执行
  50. except:
  51. db.rollback()#发生错误时回滚!
  52. #删除记录
  53. sql="DELETE FROM EMPLOYEE WHERE age>'%d'" % (20)
  54. try:
  55. cur.execute(sql)
  56. db.commit()
  57. except:
  58. db.rollback()
  59. cur.close()

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多