打印出SQLite3表中的所有值

2024-05-23 18:57:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望能够将大量数据添加到表中(名为:Hydro_Rainsion),然后能够打印所有数据。目前我正设法将数据插入表中,但当我打印数据时,它只打印我插入表中的第一个值

cursor.execute("SELECT * FROM Hydro_RAINFALL")
    print("\n01/08/2014:")
    res = cursor.fetchone()
    print(res)

这是我用来打印所有数据的代码,但正如我前面所说的,它只打印我插入到表中的第一条数据

import sqlite3

with sqlite3.connect("Weather.db") as db:
    cursor = db.cursor()

cursor.execute('''
CREATE TABLE IF NOT EXISTS Hydro_RAINFALL(
wind VARCHAR (10) NOT NULL,
temp VARCHAR (10) NOT NULL,
precipitation VARCHAR (10) NOT NULL,
humidity VARCHAR (10) NOT NULL,
date VARCHAR (20) NOT NULL);
''')
cursor.execute("""
INSERT INTO Hydro_RAINFALL(wind,temp,precipitation,humidity)
VALUES ("60mp/h", "8C", "56mm", "87%")
""")

cursor.execute("""
INSERT INTO Hydro_RAINFALL(wind,temp,precipitation,humidity)
VALUES ("39mp/h", "4C", "110mm", "45%")
""")

cursor.execute("""
INSERT INTO Hydro_RAINFALL(wind,temp,precipitation,humidity)
VALUES ("69mp/h", "6.9C", "69mm", "69%")
""")

cursor.execute("""
INSERT INTO Hydro_RAINFALL(wind,temp,precipitation,humidity)
VALUES ("456mp/h", "79C", "0mm", "99%")
""")

db.commit()




cursor.execute("SELECT * FROM Hydro_RAINFALL")
print("\n01/08/2014:")
res = cursor.fetchone()
print(res)

cursor.execute("SELECT * FROM Hydro_RAINFALL")
print("\n02/08/2014:")
res = cursor.fetchone()
print(res)

cursor.execute("SELECT * FROM Hydro_RAINFALL")
print("\n03/08/2014:")
res = cursor.fetchone()
print(res)

提前感谢!:)


Tags: 数据executenotresselectnulltempcursor
1条回答
网友
1楼 · 发布于 2024-05-23 18:57:38

This pagethis page声明它应该这样工作

请试一试

all_rows = cursor.fetchall()

for row in all_rows:

    print(row)

这将显示数据是否已正确放置在数据库中

对代码的另一个注释。您不必分别添加每一行。您可以将executemany()与占位符一起使用:

# Larger example that inserts many records at a time
purchases = [('2006-03-28', 'BUY', 'IBM', 1000, 45.00),
             ('2006-04-05', 'BUY', 'MSFT', 1000, 72.00),
             ('2006-04-06', 'SELL', 'IBM', 500, 53.00),
            ]
c.executemany('INSERT INTO stocks VALUES (?,?,?,?,?)', purchases)

(从here

另见here

相关问题 更多 >