将给定变量与数据库中的数据进行比较,并检查它是否存在

时间:2015-04-11 20:48:48

标签: python database sqlite

我有一个API密钥的sqlite数据库,我想做一些检查,看看给定的密钥是否在数据库中。我使用另一个名为apikeygen.py的python脚本生成API密钥。我使用python 2.7和模式2.6。这将是一个数据抓取/挖掘/过滤应用程序,我只是为了好玩而可能在将来用于恶意软件分析。

我需要帮助获取我们将调用API.py的主要代码片段来检查并查看给定的API密钥是否在数据库中。

到目前为止,这是API.py文件的代码。

import os, sys; sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", ".."))
import sqlite3 as lite
from pattern.server import App
from pattern.server import MINUTE, HOUR, DAY

app = App("api")

def search_db(key=''):
    con = lite.connect('apikeys.db')
    with con:
        cur = con.cursor()
        cur.execute("SELECT * FROM keys")
        while True:
            row = cur.fetchone()
            if row == None:
                break
            print row[2]

1 个答案:

答案 0 :(得分:0)

我还不太清楚你在问什么。为什么不明确地查询密钥,而不是遍历整个表?

cur.execute("SELECT * FROM keys WHERE key = ?", (key,))