123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- """
- 数据库连接及操作
- """
- import os
- import logging
- import pymysql
- from dotenv import load_dotenv
- load_dotenv(verbose=True)
- env = os.getenv('env')
- class MysqlHelper:
- @classmethod
- def connect_mysql(cls):
- if env == 'hk':
-
- connection = pymysql.connect(
- host="rm-j6cz4c6pt96000xi3.mysql.rds.aliyuncs.com",
-
- port=3306,
- user="crawler",
- passwd="crawler123456@",
- db="piaoquan-crawler",
-
- charset="utf8")
- elif env == 'prod':
-
- connection = pymysql.connect(
- host="rm-bp1159bu17li9hi94.mysql.rds.aliyuncs.com",
-
- port=3306,
- user="crawler",
- passwd="crawler123456@",
- db="piaoquan-crawler",
-
- charset="utf8")
- else:
-
- connection = pymysql.connect(
- host="rm-bp1k5853td1r25g3n690.mysql.rds.aliyuncs.com",
-
- port=3306,
- user="crawler",
- passwd="crawler123456@",
- db="piaoquan-crawler",
-
- charset="utf8")
- return connection
- @classmethod
- def get_values(cls, sql):
- try:
-
- connect = cls.connect_mysql()
-
- mysql = connect.cursor(cursor=pymysql.cursors.DictCursor)
-
- mysql.execute(sql)
-
- data = mysql.fetchall()
-
- connect.close()
-
- return data
- except Exception as e:
- logging.error(f"get_values异常:{e}\n")
- @classmethod
- def insert_values(cls, sql, value):
- try:
-
- connect = cls.connect_mysql()
-
- mysql = connect.cursor()
-
- mysql.execute(sql, value)
- task_id = connect.insert_id()
- connect.commit()
-
- connect.close()
-
- return task_id
- except Exception as e:
- logging.error(f"insert_values异常:{e}\n")
- @classmethod
- def update_values(cls, sql):
-
- connect = cls.connect_mysql()
-
- mysql = connect.cursor()
- try:
-
- res = mysql.execute(sql)
-
- connect.commit()
- connect.close()
- return True
- except Exception as e:
- logging.error(f"update_values异常,进行回滚操作:{e}\n")
-
- connect.rollback()
- connect.close()
- return False
-
- if __name__ == "__main__":
-
-
-
-
- get_data = MysqlHelper.get_values("select * from crawler_user")
- print(get_data)
|