Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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

like image 654
Mahendra Liya Avatar asked Apr 11 '11 04:04

Mahendra Liya


2 Answers

http://docs.python.org/library/sqlite3.html#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) 
like image 53
Amber Avatar answered Sep 22 '22 12:09

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))
like image 41
flacs Avatar answered Sep 19 '22 12:09

flacs