2009-11-25 3 views
4

Я пишу приложение на python и использую sqlite. У меня есть список строк, которые я хотел бы добавить также в базу данных, где каждый элемент представляет некоторые данные, которые совпадают с столбцом, который будет помещен.Передача переменных SQLite в Python

В настоящее время у меня есть что-то вроде этого

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

Смежные вопросы