如何使用预处理语句在SQlite中使用Python/Django插入MULTIPLE记录?

Mah*_*iya 27 python sqlite django

如何使用预处理语句在SQlite中使用Python/Django插入MULTIPLE记录?

Amb*_*ber 39

http://docs.python.org/library/sqlite3.html#cursor-objects
Run Code Online (Sandbox Code Playgroud)

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)
Run Code Online (Sandbox Code Playgroud)

  • @mahendraliya这就是为什么`.executemany()`存在:http://docs.python.org/library/sqlite3.html#sqlite3.Cursor.executemany (2认同)

fla*_*acs 7

你可以使用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))
Run Code Online (Sandbox Code Playgroud)