pqMysql.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. """
  2. @author: luojunhui
  3. """
  4. import pymysql
  5. from applications.decorator import retryOnTimeout
  6. class PQMySQL(object):
  7. """
  8. PQ Mysql
  9. """
  10. def __init__(self):
  11. self.connection = None
  12. self.connect_to_db()
  13. @retryOnTimeout()
  14. def connect_to_db(self):
  15. """
  16. 连接 数据库
  17. :return:
  18. """
  19. self.connection = pymysql.connect(
  20. host='rm-bp1159bu17li9hi94.mysql.rds.aliyuncs.com',
  21. port=3306,
  22. user='crawler',
  23. password='crawler123456@',
  24. db='piaoquan-crawler',
  25. charset='utf8mb4',
  26. connect_timeout=120
  27. )
  28. def insert(self, sql, params):
  29. """
  30. 更新
  31. :return:
  32. """
  33. cursor = self.connection.cursor()
  34. try:
  35. cursor.execute(sql, params)
  36. affected = cursor.rowcount
  37. self.connection.commit()
  38. return affected
  39. except Exception as e:
  40. self.connection.rollback()
  41. raise e
  42. def update(self, sql, params):
  43. """
  44. 更新
  45. :return:
  46. """
  47. cursor = self.connection.cursor()
  48. try:
  49. cursor.execute(sql, params)
  50. affected = cursor.rowcount
  51. self.connection.commit()
  52. return affected
  53. except Exception as e:
  54. self.connection.rollback()
  55. raise e
  56. def select(self, sql):
  57. """
  58. 查询
  59. :param sql:
  60. :return:
  61. """
  62. cursor = self.connection.cursor()
  63. cursor.execute(sql)
  64. result = cursor.fetchall()
  65. return result
  66. def insertMany(self, sql, params_list):
  67. """
  68. :param sql:
  69. :param params_list:
  70. :return:
  71. """
  72. cursor = self.connection.cursor()
  73. try:
  74. cursor.executemany(query=sql, args=params_list)
  75. affected = cursor.rowcount
  76. self.connection.commit()
  77. return affected
  78. except Exception as e:
  79. self.connection.rollback()
  80. raise e