SQLite和Python - 从数据库

时间:2018-05-16 15:03:31

标签: python sqlite

我在sqlite DB(alpha.db)中有一个名为 alphanum 的表,它包含以下列和值。

enter image description here

我在python中有一个函数来从这个DB中获取值:

import sqlite3
def viewdata(number):
    conn = sqlite3.connect("alpha.db")
    cursor = conn.cursor()
    cursor.execute(("SELECT Alpha,beta,gamma, number FROM alphanum WHERE number=?"),(number,))
    data=cursor.fetchall()
    conn.close()
    return data


print(viewdata(2.6))

如果我使用它,我会得到以下值:

45,54,87,2.6

这里,数字列保存起始值,即从数字2.6到5.9它属于队列1,从数字6到8.4,它属于队列2,依此类推。

现在,如果我想从此表中获取Alpha,Beta,Gamma值,以获取位于这些Queue之间的数字,我应该使用哪个查询?即,如果我输入5.8的值,我应该得到队列1的alpha beta和gamma值,因为从2.6到5.9它属于队列1。

我不确定如何在SQLite中使用Declare变量,我们将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果数字是累积的,根据您的评论,您只需要获取Number值低于或等于传递的数字的条目,并选择最高的条目,例如:

cursor.execute("""SELECT Alpha, Beta, Gamma, Number FROM alphanum 
               WHERE Number<=? ORDER BY Number DESC LIMIT 1""", (number, ))