pqMysql.py 1.9 KB

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