2009-11-25 46 views
4

我正在编写一个应用程序在python和utilzing sqlite中。我有一个我想添加数据库的字符串列表,其中每个元素表示一些与它将放置的列相符的数据。在Python中传递SQLite变量

目前我有这样的事情

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

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

回答

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意味着你的使用?的参数。

+0

谢谢工作很好 – Recursion 2009-11-25 01:05:39