当前位置:Gxlcms > 数据库问题 > python操作mysql数据库

python操作mysql数据库

时间:2021-07-01 10:21:17 帮助过:22人阅读

定义mysql类

  1. <code>class MySQL(object):
  2. conn = None
  3. cursor = None
  4. def __init__(self,host,account,passwd,db,charset=‘utf8‘,port=3306):
  5. self.host=host
  6. self.account=account
  7. self.passwd=passwd
  8. self.db=db
  9. self.charset=charset
  10. self.port=port
  11. self.connect()
  12. def connect(self):
  13. try:
  14. self.conn = MySQLdb.connect(self.host, self.account, self.passwd, self.db, charset=self.charset)
  15. self.cursor = self.conn.cursor()
  16. except Exception as e:
  17. logger.error(u‘数据库连接失败:%s‘ % e)
  18. sys.exit(0)
  19. def close(self):
  20. self.cursor.close()
  21. self.conn.close()
  22. def insert(self,query):
  23. return self.__edit(query)
  24. def delete(self,query):
  25. return self.__edit(query)
  26. def update(self,query):
  27. return self.__edit(query)
  28. def __edit(self,query):
  29. count = 0
  30. try:
  31. count = self.cursor.execute(query)
  32. self.conn.commit()
  33. except Exception as e:
  34. self.conn.rollback()
  35. logger.error(e)
  36. logger.error(‘SQL:%s‘ % query)
  37. return count
  38. def getOne(self,query):
  39. try:
  40. self.cursor.execute(query)
  41. return self.cursor.fetchone()
  42. except Exception as e:
  43. logger.error(u‘错误:%s‘ % e)
  44. logger.error("执行的SQL语句为:%s" % query)
  45. def getAll(self,query):
  46. try:
  47. self.cursor.execute(query)
  48. return self.cursor.fetchall()
  49. except Exception as e:
  50. logger.error(u‘错误:%s‘ % e)
  51. logger.error("执行的SQL语句为:%s" % query)
  52. def __del__(self):
  53. if self.conn:
  54. self.close()</code>

实例化

  1. <code>constring=(‘127.0.0.1‘,‘user‘,‘passwd‘,‘db‘)
  2. db=mysql(constring)</code>

执行某个查询操作

  1. <code>query=‘select * from table_name‘
  2. db.getAll(query)</code>

python操作mysql数据库

标签:com   hone   mit   char   sele   count   init   self   __del__   

人气教程排行