longArticlesMysql.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. """
  2. @author: luojunhui
  3. """
  4. import pymysql
  5. class longArticlesMySQL(object):
  6. """
  7. PQ Mysql
  8. """
  9. connection = pymysql.connect(
  10. host='rm-bp14529nwwcw75yr1ko.mysql.rds.aliyuncs.com',
  11. port=3306,
  12. user='changwen_admin',
  13. password='changwen@123456',
  14. db='long_articles',
  15. charset='utf8mb4'
  16. )
  17. @classmethod
  18. def update(cls, sql, params):
  19. """
  20. 更新
  21. :return:
  22. """
  23. cursor = cls.connection.cursor()
  24. cursor.execute(sql, params)
  25. affected_rows = cursor.rowcount
  26. cls.connection.commit()
  27. return affected_rows
  28. @classmethod
  29. def select(cls, sql):
  30. """
  31. 查询
  32. :param sql:
  33. :return:
  34. """
  35. cursor = cls.connection.cursor()
  36. cursor.execute(sql)
  37. result = cursor.fetchall()
  38. return result
  39. @classmethod
  40. def select_json(cls, sql):
  41. """
  42. 查询
  43. :param sql:
  44. :return:
  45. """
  46. cursor = cls.connection.cursor()
  47. cursor.execute(sql)
  48. result = cursor.fetchall()
  49. json_data = [
  50. dict(
  51. zip([column[0] for column in cursor.description], row)
  52. )
  53. for row in result
  54. ]
  55. return json_data
  56. @classmethod
  57. def insertMany(cls, sql, params_list):
  58. """
  59. :param sql:
  60. :param params_list:
  61. :return:
  62. """
  63. cursor = cls.connection.cursor()
  64. try:
  65. cursor.executemany(query=sql, args=params_list)
  66. affected_rows = cursor.rowcount
  67. cls.connection.commit()
  68. return affected_rows
  69. except Exception as e:
  70. print("Insert Many Defeat--{}".format(e))
  71. cls.connection.rollback()
  72. raise e