Распечатка всех значений из таблиц SQLite3 - PullRequest
0 голосов
/ 02 октября 2018

Я хочу иметь возможность добавить много данных в таблицу (названную: Hydro_RAINFALL), а затем распечатать все это.В настоящий момент мне удается вставить данные в таблицу, но когда я прихожу распечатать их, она печатает только первые значения, которые Я ВСТАВЛЯЮ в таблицу.

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)

Заранее спасибо!:)

1 Ответ

0 голосов
/ 02 октября 2018

Эта страница и эта страница утверждают, что она должна работать следующим образом.

Пожалуйста, попробуйте

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)

(от здесь )

См. Также здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...