How to use placeholders to bind values in SQL queriesΒΆ
sqlite7 supports ? placeholders only. Named placeholders such as :name are intentionally not supported.
from sqlite7 import connect
db = connect(":memory:")
db.execute("CREATE TABLE user(id INTEGER PRIMARY KEY, name TEXT, email TEXT)")
db.execute(
"INSERT INTO user(name, email) VALUES(?, ?)",
("Ada", "ada@example.com"),
)
For repeated inserts, use executemany() with a sequence of tuples:
db.executemany(
"INSERT INTO user(name, email) VALUES(?, ?)",
[("Ada", "ada@example.com"), ("Grace", "grace@example.com")],
)