mysql_db.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. # -*- coding: utf-8 -*-
  2. """
  3. 数据库连接及操作
  4. """
  5. import redis
  6. import pymysql
  7. from common.common_log import Common
  8. # from common import Common
  9. class MysqlHelper:
  10. @classmethod
  11. def connect_mysql(cls):
  12. # 创建一个 Connection 对象,代表了一个数据库连接
  13. connection = pymysql.connect(
  14. host="rm-bp12k5fuh5zyx31d2.mysql.rds.aliyuncs.com", # 数据库IP地址,内网地址
  15. # host="rm-bp1159bu17li9hi94ro.mysql.rds.aliyuncs.com",# 数据库IP地址,外网地址
  16. port=3306, # 端口号
  17. user="wx2023_ad", # mysql用户名
  18. passwd="wx2023_adP@assword1234", # mysql用户登录密码
  19. db="adplatform", # 数据库名
  20. charset="utf8")
  21. return connection
  22. @classmethod
  23. def get_values(cls, sql):
  24. try:
  25. # 连接数据库
  26. connect = cls.connect_mysql()
  27. # 返回一个 Cursor对象
  28. mysql = connect.cursor()
  29. # 执行 sql 语句
  30. mysql.execute(sql)
  31. # fetchall方法返回的是一个元组,里面每个元素也是元组,代表一行记录
  32. data = mysql.fetchall()
  33. # 关闭数据库连接
  34. connect.close()
  35. # 返回查询结果,元组
  36. return data
  37. except Exception as e:
  38. print(f"get_values异常:{e}\n")
  39. @classmethod
  40. def update_values(cls, sql):
  41. # 连接数据库
  42. connect = cls.connect_mysql()
  43. # 返回一个 Cursor对象
  44. mysql = connect.cursor()
  45. try:
  46. # 执行 sql 语句
  47. res = mysql.execute(sql)
  48. # 注意 一定要commit,否则添加数据不生效
  49. connect.commit()
  50. return res
  51. except Exception as e:
  52. # 发生错误时回滚
  53. connect.rollback()
  54. # 关闭数据库连接
  55. connect.close()