当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sqlite3.Cursor.executemany用法及代码示例


用法:

executemany(sql, seq_of_parameters)

针对序列 seq_of_parameters 中找到的所有参数序列或映射执行参数化 SQL 命令。 sqlite3 模块还允许使用迭代器产生参数而不是序列。

import sqlite3

class IterChars:
    def __init__(self):
        self.count = ord('a')

    def __iter__(self):
        return self

    def __next__(self):
        if self.count > ord('z'):
            raise StopIteration
        self.count += 1
        return (chr(self.count - 1),) # this is a 1-tuple

con = sqlite3.connect(":memory:")
cur = con.cursor()
cur.execute("create table characters(c)")

theIter = IterChars()
cur.executemany("insert into characters(c) values (?)", theIter)

cur.execute("select c from characters")
print(cur.fetchall())

con.close()

这是一个使用生成器的简短示例:

import sqlite3
import string

def char_generator():
    for c in string.ascii_lowercase:
        yield (c,)

con = sqlite3.connect(":memory:")
cur = con.cursor()
cur.execute("create table characters(c)")

cur.executemany("insert into characters(c) values (?)", char_generator())

cur.execute("select c from characters")
print(cur.fetchall())

con.close()

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 sqlite3.Cursor.executemany。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。