当前位置: 首页 > 知识库问答 >
问题:

mysql - python 查询全量数据库报错?

充栋
2023-09-26
query_str = "select yu,rt from tablename"print('打印字符串')print(query_str)try:    print('怎么办')    mycursor.execute(query_sql)    print('害虫')    results=mycursor.fetchall()

报错:object of type 'function' has no len()

是这个执行报错
mycursor.execute(query_sql)

我这样查询全量不对吗?

共有3个答案

施冠玉
2023-09-26

image.png

山寒
2023-09-26
import mysql.connector# 连接到数据库conn = mysql.connector.connect(    host="主机名或IP地址",    user="数据库用户名",    password="数据库密码",    database="数据库名")# 创建一个游标对象mycursor = conn.cursor()# 定义查询字符串query_str = "SELECT yu, rt FROM tablename"try:    mycursor.execute(query_str)    results = mycursor.fetchall()    for row in results:        yu, rt = row        print(f"yu: {yu}, rt: {rt}")except Exception as e:       print(f"An error occurred: {e}")finally:    # 关闭游标和连接    mycursor.close()    conn.close()
程俊力
2023-09-26

从你提供的代码和报错信息来看,问题可能出在query_strmycursor.execute()之间。你定义了一个查询字符串query_str,但是你在执行查询的时候使用了query_sql,这个变量在代码中并未定义。这可能是导致报错的原因。

你应该将query_sql更改为query_str,使你的代码执行以下操作:

query_str = "select yu,rt from tablename"print('打印字符串')print(query_str)try:    print('怎么办')    mycursor.execute(query_str)  # 这里应该用 query_str 而不是 query_sql    print('害虫')    results=mycursor.fetchall()

这样,你的查询语句就能正确地被执行了。希望这能解决你的问题!如果你还有其他关于代码的问题,欢迎随时提问。

 类似资料:
  • 我试图使用下面的MySQL语句

  • 本文向大家介绍使用Python查询SAP数据库,包括了使用Python查询SAP数据库的使用技巧和注意事项,需要的朋友参考一下 Python是最常用的面向对象编程语言之一,非常易于编码和理解。 为了将Python与SAP结合使用,我们需要安装Python SAP RFC模块,即PyRFC。它的可用方法之一是RFC_READ_TABLE,可以调用该方法以从SAP数据库中的表读取数据。 同样,PyRF

  • 我有几年没写SQL查询了,有点生疏。我正在尝试编写一个查询,该查询将根据给定的演员姓名选择所有影片。因此,给出名称“Sandra”,我想选择film表中的影片,该影片在actor表的first_name或last_name中有“Sandra”。有一个film_actor表将这两个表链接起来,但我不知道如何正确地实现它。我得到的最接近的是,它返回演员和影片的INNER JOIN表。这个结果还有一个f

  • 主要内容:查询表中所有字段,查询表中指定的字段在MySQL 中,可以使用 SELECT 语句来查询数据。查询数据是指从数据库中根据需求,使用不同的查询方式来获取不同的数据,是使用频率最高、最重要的操作。 SELECT 的语法格式如下: 其中,各条子句的含义如下: 包含星号通配符的字段列表,表示所要查询字段的名称。 ,表 1 和表 2 表示查询数据的来源,可以是单个或多个。 是可选项,如果选择该项,将限定查询数据必须满足该查询条件。 ,该子句告

  • 我在AWS Lambda函数中查询MySQL数据库(从AWS远程托管)时遇到问题。 这是我的代码,除了Lambda函数的其余部分(为Alexa技能调用)所需的部分: 当我在命令提示符下用node运行它时,它工作得很好: 我正在使用通过npm安装在index.js目录中的“mysql”模块,并将其压缩和上传到我的Lambda函数中。 同样,这在我的开发机器上有效,但在测试我的Lambda函数时没有说

  • 我在MySQL中有一个表,它有一个主键列。 有什么建议吗??也许是一个询问..:)