将SQLite3值加载到Python变量中

时间:2011-07-02 00:53:30

标签: python sqlite

我有一个用Python 2.7构建的项目,使用SQLite3作为数据库。我需要知道如何将特定行和列中的项加载到现有的Python变量中。

TY!

1 个答案:

答案 0 :(得分:3)

以下是基本步骤:

import sqlite3
conn = sqlite3.connect(':memory:')
curs = conn.cursor()
results = curs.execute( """SELECT mycol 
                             FROM mytable 
                            WHERE somecol = ?;""", (some_var,) ).fetchall()
curs.close()
conn.close()

对于进一步的研究,您可以研究使用上下文管理器(with语句),以及如何将结果提取到dict中。这是一个例子:

with sqlite3.connect(':memory:') as conn:
    curs = conn.cursor()
    curs.row_factory = sqlite3.Row
    try:
        results = curs.execute( """SELECT mycol 
                                     FROM mytable 
                                    WHERE somecol = ?;""", 
                               (some_var,) ).fetchall()
    # you would put your exception-handling code here
    finally:
        curs.close()

上下文管理器的好处很多,包括您的连接已关闭。在dict中映射结果的好处是,您可以按名称访问列值,而不是意义较小的整数。