如何使用预处理语句在SQlite中使用Python / Django插入MULTIPLE记录?
答案 0 :(得分:37)
http://docs.python.org/library/sqlite3.html#cursor-objects
Python的SQLite库没有预处理语句对象,但它们允许您使用参数化查询,并提供多组参数。
编辑:请求executemany
的示例:
values_to_insert = [(1,"foo"), (2, "bar"), (3, "baz")]
cursor.executemany("""
INSERT INTO some_table ('item_num', 'item_name')
VALUES (?, ?)""", values_to_insert)
答案 1 :(得分:6)
您可以使用executemany()并传递迭代器对象,例如插入100个整数及其正方形:
def my_iter(x):
for i in range(x):
yield i, i*i
cursor.executemany("INSERT INTO my_table VALUES (?, ?)", my_iter(100))
答案 2 :(得分:-5)
如果您尝试仅使用PreparedStatement插入一行,
cursor.execute("""INSERT INTO table_name ('column1', 'column2') VALUES (?, ?)""", ("value1", "value2"))
应该也可以。值以python元组的形式传递。