Jupyter Notebook无法连接数据库报错:NameError: name 'sql' is not defined 求助
解决NameError: name 'sql' is not defined的MySQL连接问题
嘿,这个问题其实很好搞定——你代码里用的sql对象根本没被定义!虽然你已经装了mysql-connector-python,但没在代码里导入对应的模块,也没给它起sql这个别名,Python自然不知道sql是什么东西。
下面是具体的解决步骤:
1. 先导入模块并设置别名
在你的数据库初始化代码最开头,加上这行导入语句:
import mysql.connector as sql
这行代码会把mysql.connector模块别名为sql,后面的sql.connect()就能被正常识别了。
2. 完整的可运行代码示例
把你的代码补全后应该是这样的:
# 导入MySQL连接器模块并设置别名 import mysql.connector as sql # 建立数据库连接 db_connect = sql.connect( host='127.0.0.1', database='ml_database', user='root', password='1234' ) # 可选:验证连接是否成功 if db_connect.is_connected(): print("数据库连接成功啦!")
3. 额外排查点(如果还是报错)
- 确认MySQL服务正在运行:本地MySQL没启动的话肯定连不上,去系统服务里检查MySQL状态,确保它是开启的。
- 确认
ml_database数据库存在:如果这个数据库还没创建,先在MySQL客户端里执行CREATE DATABASE ml_database;创建它。 - 检查用户名和密码:确保
root用户的密码确实是1234,或者替换成你实际设置的密码。 - 端口号是否正确:如果你的MySQL不是默认的3306端口,需要在
connect()里加上port=你的端口号参数。
内容的提问来源于stack exchange,提问作者Jayson Bagalayos
相关产品推荐
相关产品推荐

