How do I use prepared statements for inserting MULTIPLE records in SQlite using Python / Django?

Question:

How do I use prepared statement for inserting MULTIPLE records in SQlite using Python / Django?

Asked By: Mahendra Liya

||

Answers:

Official Python library documentation: Cursor objects

Python’s SQLite libraries don’t have prepared statement objects, but they do allow you to use parameterized queries, and to provide more than one set of parameters.

Edit: An example of executemany as requested:

values_to_insert = [(1,"foo"), (2, "bar"), (3, "baz")]

cursor.executemany("""
    INSERT INTO some_table ('item_num', 'item_name')
    VALUES (?, ?)""", values_to_insert)
Answered By: Amber

You can use executemany() and pass an iterator object, e.g. to insert 100 integers and their squares:

def my_iter(x):
    for i in range(x):
        yield i, i*i

cursor.executemany("INSERT INTO my_table VALUES (?, ?)", my_iter(100))
Answered By: flacs
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.