import sys import os sys.path.append(os.path.dirname(__file__)) # sys.path.append('E:\\ruanjian\\Python\\Lib\\site-packages') from sqlalchemy import create_engine class DataBase: """ 远程数据库 """ # con_read = None # con_write = None # ip = '114.215.109.124' # user = 'fumeRemote' # password = 'feiyu2023' # port = 3306 # data_base_name = 'fume' """ 本机 """ con_read = None con_write = None ip = 'localhost' user = 'root' password = '1234' port = 3306 data_base_name = 'qianduan_sql' """连接数据库 """ def connect_remote_database_read(self): if self.con_read == None or self.con_read.closed: engine = create_engine(f"mysql+pymysql://{self.user}:{self.password}@{self.ip}:{self.port}/{self.data_base_name}?charset=utf8",pool_recycle=3600, pool_size=3, max_overflow=0) self.con_read = engine.connect() return self.con_read def connect_remote_database_write(self): """ 写""" if self.con_write == None or self.con_write.closed: engine = create_engine(f"mysql+pymysql://{self.user}:{self.password}@{self.ip}:{self.port}/{self.data_base_name}?charset=utf8",pool_recycle=3600, pool_size=3, max_overflow=0) self.con_write = engine.connect() return self.con_write # """ 连接本地数据库 # """ # def connect_local_database_read(self): # """ 读数据 # """ # if self.con_read == None or self.con_read.closed: # engine = create_engine(f"mysql+pymysql://{self.user}:{self.password}@{self.ip}:{self.port}/{self.data_base_name}?charset=utf8") # self.con_read = engine.connect() # return self.con_read # def connect_local_database_write(self): # """ 写数据 # """ # if self.con_write == None or self.con_write.closed: # engine = create_engine(f"mysql+pymysql://{self.user}:{self.password}@{self.ip}:{self.port}/{self.data_base_name}?charset=utf8") # self.con_write = engine.connect() # return self.con_write def disconnect(self,area_type:str,option_type:str): """"断开连接 Args: area_type (str): 数据库所属位置。local与remote option_type (str): 操作类型。write和read """ self.con_read.close() # 其他文件导入此对象即可 datebase_single_obj = DataBase() if __name__ == '__main__': # print(datebase_single_obj.connect_remote_database_read()) pass