Я пытался выяснить, как работать с базой данных SQLite с помощью python, но, похоже, застрял. Я думаю, что мне не хватает чего-то основного. Я следовал этот учебник: http://docs.python.org/library/sqlite3.htmlИзвлечение значений из базы данных SQLite в Python
Я создал базу данных таким образом, что она содержит следующую информацию:
import sqlite3
conn = sqlite3.connect('SQL_test_3') #this creates a seperate file
c = conn.cursor()
c.execute('''create table stocks
(date text, trans text, symbol text,
qty real, price real)''')
data = [('2006-03-28', 'BUY', 'IBM', 1000, 45.00),
('2006-04-05', 'BUY', 'MSFT', 1000, 72.00),
('2006-04-06', 'SELL', 'IBM', 500, 53.00),
]
for t in data:
c.execute('insert into stocks values (?,?,?,?,?)', t)
conn.commit()
c.close()
Мои проблемы возникают при попытке извлечь данные; учебник объясняет, как извлечь данные, если одна из характеристик удовлетворены, например:
(Когда я открываю базу данных в другом файле)
import sqlite3
conn = sqlite3.connect('SQL_test_3')
c = conn.cursor()
price = 53
t = (price,)
c.execute('select * from stocks where price=?', t)
print c.fetchall()
выше работает отлично, но если я хочу извлечение информации для всех активов, цена которых выше 50, я не могу этого сделать. Цена исполнения> 50 и цена>? не работает ...
Так что мои вопросы:
1) Как извлечь информацию для актива, когда основной критерий является умещается в заданном диапазоне, например, цены> 50 или 40 < цены < 70.
2) А что, если бы я хотел иметь два критерия, например, информация для акций IBM и если запас был продан, скажем, цена больше, чем 50.
Я чувствую, что мой вопросы очень новички/основные, но я не мог найти ответы на них в учебнике.
Любая помощь приветствуется.
Спасибо заранее.
Я попытался запустить ваш код, и он отлично работает для меня. Пожалуйста, напишите точный код, который вы пытались использовать '>', и полученный результат, когда вы его запускали. – Duncan
Несомненно, это вопрос SQL, а не Python? –
Дункан, я получил эту линию для работы с: цены = 50 т = (цена,) c.execute ('? * Выбрать из акций, где цена>', т) z4 = c.fetchall() print z4 Спасибо – Akavall