欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > 【bug】pymysql.err.OperationalError: (1046, ‘No database selected‘)

【bug】pymysql.err.OperationalError: (1046, ‘No database selected‘)

2024/12/22 2:11:30 来源:https://blog.csdn.net/qq_38463737/article/details/144313699  浏览:    关键词:【bug】pymysql.err.OperationalError: (1046, ‘No database selected‘)

【bug】pymysql.err.OperationalError: (1046, ‘No database selected’)

环境

PyMySQL                 1.1.1

问题详情

在使用pymysql查询数据出现的错误。

import pymysqldef query_data(name):"""查询所有name 等于name的数据"""connection = pymysql.connect(host='localhost',port=3306,user='root',password='123456',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)cursor = connection.cursor()sql = "SELECT * FROM test WHERE name = %s"cursor.execute(sql, (name,))result = cursor.fetchall()connection.close()return resultif __name__ == '__main__':result = query_data("Jane")print(result)

错误原因是pymysql.connect连接数据库时并没有连接到具体的数据库。

解决方法

方法1:先连接到总数据库,再连接具体数据库

connection = pymysql.connect(host='localhost',port=3306,user='root',password='123456',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)
connection.select_db("test")  # 连接到具体数据库

方法2:一步到位,连接到具体数据库

connection = pymysql.connect(host='localhost',port=3306,user='root',password='123456',charset='utf8mb4',database='test',   # 具体数据库名称cursorclass=pymysql.cursors.DictCursor,)

参考

填坑记2:pymysql报错提示:pymysql.err.OperationalError: (1046, ‘No database selected‘)_pymysql.err.operationalerror: (1046, 'no database -CSDN博客

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com