当前位置: 首页 > article >正文

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

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

环境

PyMySQL                 1.1.1

问题详情

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

import pymysql

def 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 result

if __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博客


http://www.kler.cn/a/427760.html

相关文章:

  • React16搭建-GPT回答
  • 游戏引擎学习第36天
  • [Flutter]Json序列化json_serializable使用属性全介绍
  • 嵌入式蓝桥杯学习4 lcd移植
  • 【Linux】09 -- Linux下的shell编程(一)
  • 针对xpath局限的解决方案
  • 室联人形机器人:家政服务任务结构化、技术要点、深入应用FPGA的控制系统框架设计(整合版)
  • docker 安装mysql8.0.29
  • 【Leetcode Top 100 - 扩展】876. 链表的中间结点
  • OpeAI大模型学习(一)
  • WPF Prism ViewDiscovery
  • Python机器学习笔记(五、决策树集成)
  • 以攻击者的视角进行软件安全防护
  • Java爬虫技术:全面获取电商平台所有商品信息
  • C++ - map,set
  • 【Java Web】Tomcat 快速入门
  • Next.js 实战 (二):搭建 Layouts 基础排版布局
  • 【信息系统项目管理师】第8章:项目整合管理过程详解
  • 浅析基于自动驾驶的4D-bev标注技术
  • 基于Astar的复杂栅格地图路线规划算法matlab仿真