这是一个可以动态切换 MySQL 数据源的 Python 类的示例实现:
import mysql.connector
class DynamicMySQLConnection:
def __init__(self, host, user, password, database=None):
self.host = host
self.user = user
self.password = password
self.database = database
def connect(self):
self.conn = mysql.connector.connect(
host=self.host,
user=self.user,
password=self.password,
database=self.database
)
self.cursor = self.conn.cursor()
def close(self):
self.cursor.close()
self.conn.close()
def execute(self, sql, params=None):
self.cursor.execute(sql, params)
return self.cursor
def commit(self):
self.conn.commit()
def set_database(self, database):
self.database = database
self.connect()
该类使用 mysql.connector
模块连接到 MySQL 数据库,使用 connect()
方法初始化连接和游标,使用 close()
方法关闭连接和游标,使用 execute()
方法执行 SQL 语句,并使用 commit()
方法提交事务。
此外,该类还包含一个 set_database()
方法,可用于动态切换连接的数据库。
要使用该类,可以这样创建实例并连接到 MySQL 数据库:
conn = DynamicMySQLConnection(host='localhost', user='root', password='password')
conn.connect()
然后,可以使用 execute()
方法执行 SQL 语句,例如:
conn.execute('SELECT * FROM table')
最后,记得在使用完之后关闭连接:
conn.close()
如果要切换到另一个数据库,可以使用 set_database()
方法:
``` conn.set_database('new