繁体   English   中英

在Python中从SQLite数据库中提取值

[英]Extracting values from SQLite database in Python

我试图弄清楚如何使用python使用SQLite数据库,但似乎陷入困境。 我想我错过了一些基本的东西。 我正在学习本教程: http//docs.python.org/library/sqlite3.html

我建立了一个数据库,它包含以下信息:

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的价格进行交易,该怎么办?

我觉得我的问题非常初学/基础,但我在教程中找不到答案。

任何帮助表示赞赏。

提前致谢。

c.execute('select * from stocks where price > ?', (50,))

c.execute('select * from stocks where price between ? and ?', (40, 70))

c.execute('select * from stocks where price > ? and symbol = ?', (50, 'IBM'))

这样可以,还是需要通用解决方案?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM