在Python中传递SQLite变量

时间:2009-11-25 00:44:23

标签: python sqlite

我在python中编写应用程序并使用sqlite。我有一个字符串列表,我想添加数据库,其中每个元素代表一些数据,它与将放置的列重合。

目前我有类似的东西

cursor.execute("""insert into credit
                    values ('Citi','5567','visa',6000,9.99,'23',9000)""")

我可以轻松添加字符串,但不知道如何添加列表中的变量。

1 个答案:

答案 0 :(得分:9)

使用参数.execute()

query = """
     INSERT INTO credit
         (bank, number, card, int1, value, type, int2)
     VALUES
          (?, ?, ?, ?, ?, ?, ?)
        """
data =  ['Citi', '5567', 'visa', 6000, 9.99, '23', 9000]

cursor.execute(query, data)

根据PEP249

  

<强> .execute(operation[,parameters])

     

准备并执行数据库操作(查询或命令)。参数可以作为序列或映射提供,并且将绑定到操作中的变量。变量以特定于数据库的表示法指定(有关详细信息,请参阅模块的 paramstyle 属性)

检查paramstyle

>>> import sqlite3
>>> print sqlite3.paramstyle
qmark

qmark表示您使用?作为参数。