#python #python-3.x #sqlite
#python #python-3.x #sqlite
Вопрос:
Я ищу способ получить строку из базы данных и каждое значение в ней. Например, путем поиска по Name
or ItemNumber
и код получит значение для Price
or любого другого значения столбца в строке. Я пытался использовать этот код, и он возвращает каждую строку и значения для этих строк, а не только 1, как я ищу.
import sqlite3
cursor = sqliteConnection.cursor()
sqlite_select_query = """SELECT 374932 from ItemLookup"""
cursor.execute(sqlite_select_query)
rows = cursor.fetchall()
for row in rows:
print(row)
Я также использовал cursor.fetchone()
, и это возвращает 374932
данные, указанные в коде SELECT 374932
from ItemLookup
несколько раз. При использовании fetchmany()
со row[0]
row[1]
значениями any или отображается сообщение об ошибке tuple out of range. Я искал в Интернете и не могу найти объяснения этому. Любая помощь будет оценена!
Комментарии:
1. Можете ли вы показать свою схему таблицы? Кроме того, что не так с запросом
select * from ItemLookup where ...
?2. Select * from ItemLookup возвращает значение каждой строки, а не то, которое я ищу, насколько я знаю. В ItemLookup есть столбцы «Номер элемента» (по сути, идентификатор), «Имя», «Цена», «Дата» и «Местоположение».
3. Вы можете использовать
select * from ItemLookup where ItemNumber=<some value>
для извлечения строки с определенным номером элемента. Если вы не хотите, чтобы все столбцы этой строки указывали нужные столбцы вместо*
.4. Большое вам спасибо! Это ИМЕННО тот ответ, который я искал. Есть ли какой-либо способ преобразовать то, что было получено из поиска, в формат списка?
5.
rows = cursor.fetchall()
превратитсяrows
в список строк. В этом списке каждый элемент будет представлять собой кортеж значений столбца
Ответ №1:
Запросы SQL обычно следуют синтаксису SELECT field FROM table WHERE condition
, например, this is a query for Joe’s information: SELECT * FROM ItemLookup WHERE Name = 'Joe'
Вы можете использовать это для запроса нужной информации на основе конкретных условий.