Я создал базу данных с sqlite3 в python, затем я добавил таблицу с 5 параметрами. Я добавил запись в таблицу, заполнив все 5 параметров. Я пытаюсь выбрать все записи с указанным c параметром 'user'.
Если я печатаю выбранный кортеж без индекса, он возвращает кортеж с 5 параметрами , как ожидается,
Если я печатаю кортеж с индексом [0], он возвращает кортеж с 5 параметрами вместо только первого параметра.
Если я печатаю запись с индексом выше [0], например [1], возвращается IndexError: список индекса выходит за пределы диапазона.
Я хотел бы получить доступ ко всем индексам, но я не знаю, как это сделать, кроме как я пытался.
Код ниже: (financedb - мой другой файл .py, который содержит функцию db_connect()
, подключающуюся к базе данных. Я включил эту функцию в код ниже, чтобы код было легче копировать.)
import sqlite3
import financedb as fdb
user_name_input = input('Username: ')
def check_the_balance():
fdb.db_connect() # Establishes connection to DB
fdb.cursor.execute('SELECT * FROM test WHERE user=?', [user_name_input])
check = fdb.cursor.fetchall()
print(check[0])
def db_connect():
global connection
global cursor
cursor = connection.cursor()
command = f'CREATE TABLE test(id integer, user text, password text, montly_income real, monthly_debt real)'
try:
cursor.execute(command)
except sqlite3.OperationalError:
pass
finally:
connection.commit()
check_the_balance()