实现一个类,可以动态切换MYSQL数据源
时间: 2023-01-29 19:49:59 浏览: 49
这里是一个例子,你可以根据自己的需要进行修改:
```
import mysql.connector
class MysqlDataSource:
def __init__(self, host, user, password, database):
self.host = host
self.user = user
self.password = password
self.database = database
def connect(self):
self.cnx = mysql.connector.connect(
host=self.host,
user=self.user,
password=self.password,
database=self.database
)
self.cursor = self.cnx.cursor()
def close(self):
self.cnx.close()
def execute(self, sql, params=None):
self.cursor.execute(sql, params)
return self.cursor
```
你可以使用这个类来连接到 MySQL 数据库,执行 SQL 语句并获取结果。 为了切换数据源,你可以在使用这个类之前调用 `__init__` 方法来传入新的数据库连接信息,然后调用 `connect` 方法来建立新的连接。
例如:
```
# 建立连接到数据库 A 的连接
data_source = MysqlDataSource(host='localhost', user='user', password='password', database='database_A')
data_source.connect()
# 执行一些 SQL 语句
data_source.execute('SELECT * FROM table_A')
# 切换到数据库 B
data_source = MysqlDataSource(host='localhost', user='user', password='password', database='database_B')
data_source.connect()
# 执行一些 SQL 语句
data_source.execute('SELECT * FROM table_B')
# 关闭连接
data_source.close()
```
希望这能帮到你!
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)