预备知识:
数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL
其中DQL为 select语句
数据操纵语言DML主要有三种形式:
1) 插入:INSERT
2) 更新:UPDATE
3) 删除:DELETE
使用executemany执行 select 操作会出现问题,报错信息如下:
ProgrammingError: executemany() can only execute DML statements.
executemany只能用于DML的操作,不过在底层实现,实际上是execute()将参数放入列表中,然后在executemany中运行。sqlite execute操作源码
也可以都是用execute,这时可以使用如下的方式调用execute
cur.execute('SELECT * FROM Genre WHERE id in ({0})'.format(', '.join('?' for _ in ids)), ids)
cur.execute("""
SELECT * FROM Donors
WHERE firstname IN ({0})"""
.format(', '.join(x.donor for x in donors)))