4

I am writing a app in python and utilzing sqlite. I have a list of strings which I would like to add too the database, where each element represents some data which coincides with the column it will be put.

currently I have something like this

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

I can add strings easily but dont know how to add the variables of my list.

1 Answer 1

12

Use parameters to .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)

According to PEP249:

.execute(operation[,parameters]):

Prepare and execute a database operation (query or command). Parameters may be provided as sequence or mapping and will be bound to variables in the operation. Variables are specified in a database-specific notation (see the module's paramstyle attribute for details)

Checking paramstyle:

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

qmark means you use ? for parameters.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.