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
|