MySQLdb对mysql数据库的中文操作测试

  1. #!/usr/bin/env python   
  2. #coding:utf-8   
  3. """  
  4. 这个程序只是简单测试MySQLdb对mysql数据库的增删改查,中文的插入,再表的默认编码是utf8或者gbk的情况下  
  5. 都可以正常插入,不管数据库的默认编码,当表的默认编码是latin1时,插入中文失败  
  6. 对数据库进行修改以后需要调用commit方法来进行提交,才能再数据库中看到修改的情况  
  7. """  
  8. import MySQLdb   
  9. conn=MySQLdb.connect(host="127.0.0.1",user="root",passwd="1q2w3e4r",db="mysite2",charset="utf8")   
  10. c=conn.cursor()   
  11. #首次进行查询如果有中文应该可以正常显示   
  12. sql="select name,id from zhanbu order by id desc limit 1 "  
  13. #c.execute("set names utf8")   
  14. #c.execute("set character_set_client=utf8")   
  15. #c.execute("set character_set_results=utf8")   
  16.   
  17. d=c.execute(sql)   
  18. dd=c.fetchall()   
  19. #print d   
  20. iid=1  
  21. if len(dd)>0:   
  22.     iid=dd[0][1]   
  23. print "第一次查询"    
  24. for i in dd:   
  25.     print i,i[0]    
  26.   
  27. charset = conn.character_set_name()   
  28. #query = query.encode(charset)   
  29. print charset   
  30. #print query   
  31. #增加   
  32. #进行中文插入   
  33. print "插入成功后"  
  34. content="中文"  
  35. sql="insert into zhanbu(id,name) values(%d,'%s')"%(iid+1, content)   
  36. #print sql    
  37. d=c.execute(sql)   
  38. conn.commit()   
  39. #中文插入以后进行查询,看是否能够正常显示   
  40. sql="select name,id from zhanbu order by id desc limit 1 "  
  41. d=c.execute(sql)   
  42. dd=c.fetchall()   
  43. for i in dd:   
  44.     print i[0]   
  45. #插入完成后进行修改   
  46. print "修改成功后"  
  47. appendcontent="追加"  
  48. sql="update zhanbu set name='%s' where id=%d"%(appendcontent,iid+1)   
  49. d=c.execute(sql)   
  50. conn.commit()   
  51. sql="select name,id from zhanbu order by id desc limit 1 "  
  52. d=c.execute(sql)   
  53. dd=c.fetchall()   
  54. for i in dd:   
  55.     print i[0]   
  56. #修改完成以后删除数据   
  57. print "删除数据以后"  
  58. sql="delete from zhanbu where id=%d"%(iid+1,)   
  59. d=c.execute(sql)   
  60. conn.commit()   
  61. sql="select name,id from zhanbu order by id desc limit 1 "  
  62. d=c.execute(sql)   
  63. dd=c.fetchall()   
  64. for i in dd:   
  65.     print i[0]   
  66. c.close()   
  67. conn.close()  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值