2009-11-25 48 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