作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 MySQL,但我有一些意外的行为。我过去有使用 SQLite 的经验,但我想我在这里遗漏了一些东西。
使用查询SELECT * FROM tableName
我希望输出的是表的内容。相反,我得到一个 int,即表中的行数。这是我正在使用的代码段。
import MySQLdb
conn=MySQLdb.connect(host="xxx",user="xxx",passwd="xxx")
cursor = conn.cursor()
cursor.execute("create database if not exists Test;")
cursor.execute("use Test;")
cursor.execute("create table if not exists City (id int not null primary key auto_increment, city varchar(50), unique(city));")
cursor.execute("insert into City (city) values ('Firenze');")
cursor.execute("insert into City (city) values ('Roma');")
conn.commit()
print(cursor.execute("select city from City;"))
我希望得到:
Firenze
Roma
相反,我得到:2
如果我从 SQL 客户端运行相同的查询,我会得到预期的输出。有什么聪明的主意吗?谢谢:)
最佳答案
您的代码中缺少 FetchAll() 函数。获取全部只是获取最后执行的语句的数据。
import MySQLdb
conn=MySQLdb.connect(host="xxx",user="xxx",passwd="xxx")
cursor = conn.cursor()
cursor.execute("create database if not exists Test;")
cursor.execute("use Test;")
cursor.execute("create table if not exists City (id int not null primary key
auto_increment, city varchar(50), unique(city));")
cursor.execute("insert into City (city) values ('Firenze');")
cursor.execute("insert into City (city) values ('Roma');")
conn.commit()
print(cursor.execute("select city from City;"))
myresult = mycursor.fetchall()
for x in myresult:
print(x)
关于python - MySQL (python 3.6) - SELECT * FROM table - 返回行数而不是表数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56360246/
我是一名优秀的程序员,十分优秀!