这是一种可以实现动态切换数据源、创建数据表、删除数据表、获取数据表数据量的 MySQL 工具类的实现方式:
import mysql.connector
class MySQLTool:
def __init__(self, host, user, password, database=None):
self.host = host
self.user = user
self.password = password
self.database = database
self.conn = None
def connect(self):
"""连接数据库"""
self.conn = mysql.connector.connect(
host=self.host,
user=self.user,
password=self.password,
database=self.database
)
def close(self):
"""关闭数据库连接"""
self.conn.close()
def change_database(self, database):
"""切换数据库"""
self.database = database
self.connect()
def create_table(self, table_name, columns):
"""创建数据表"""
cursor = self.conn.cursor()
sql = f"CREATE TABLE {table_name} ({', '.join(columns)})"
cursor.execute(sql)
cursor.close()
def delete_table(self, table_name):
"""删除数据表"""
cursor = self.conn.cursor()
sql = f"DROP TABLE {table_name}"
cursor.execute(sql)
cursor.close()
def get_table_count(self, table_name):
"""获取数据表数据量"""
cursor = self.conn.cursor()
sql = f"SELECT COUNT(*) FROM {table_name}"
cursor.execute(sql)
count = cursor.fetchone()[0]
cursor.close()
return count