You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用mysql.connector建立初始连接后,如何切换至用户指定的MySQL数据库?

问题

我正在使用Python的mysql.connector连接MySQL实例。在建立初始连接后,我希望切换至用户输入的目标数据库。以下是我的实现代码:

...

import mysql.connector as sqlcon

connection = sqlcon.connect(
        user=conn_info['user'], password=conn_info['password'], host=conn_info['host'], auth_plugin='mysql_native_password')
#conn_info is a dictionary holding the values
cursor = connection.cursor()

db_name = input("Enter db name")
...

请问是否可以在这一步之后连接到指定的db_name?

解决方案

当然可以,有两种常用方式实现:

方式一:执行SQL切换数据库

利用已创建的游标执行MySQL的USE语句,就能直接切换到目标数据库:

db_name = input("Enter db name")
# 执行切换命令,用反引号包裹数据库名避免特殊字符报错
cursor.execute(f"USE `{db_name}`")

这种方式无需重新建立连接,效率更高。

方式二:重新建立带指定数据库的连接

如果需要全新的连接上下文,可以关闭现有连接后,重新传入database参数创建连接:

db_name = input("Enter db name")
# 关闭原有连接
connection.close()
# 重新连接并指定目标数据库
connection = sqlcon.connect(
    user=conn_info['user'],
    password=conn_info['password'],
    host=conn_info['host'],
    database=db_name,
    auth_plugin='mysql_native_password'
)
cursor = connection.cursor()

两种方式都能满足需求,可根据实际场景选择。

内容的提问来源于stack exchange,提问作者ag2byte

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 14:40:15