在Python中传递SQLite变量

Rec*_*ion 4 python sqlite

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

目前我有这样的事情

cursor.execute("""insert into credit
                    values ('Citi','5567','visa',6000,9.99,'23',9000)""")
Run Code Online (Sandbox Code Playgroud)

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

nos*_*klo 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)
Run Code Online (Sandbox Code Playgroud)

根据PEP249:

.execute(operation[,parameters]):

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

检查paramstyle:

>>> import sqlite3
>>> print sqlite3.paramstyle
qmark
Run Code Online (Sandbox Code Playgroud)

qmark意味着你?用于参数.