Docs: improve sqlite3 placeholders example (GH-101092)

(cherry picked from commit b84be8d9c0)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
This commit is contained in:
Miss Islington (bot) 2023-01-18 01:43:44 -08:00 committed by GitHub
parent 3ef9f6b508
commit db65a326a4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1841,19 +1841,18 @@ Here's an example of both styles:
con = sqlite3.connect(":memory:")
cur = con.execute("CREATE TABLE lang(name, first_appeared)")
# This is the qmark style:
cur.execute("INSERT INTO lang VALUES(?, ?)", ("C", 1972))
# This is the named style used with executemany():
data = (
{"name": "C", "year": 1972},
{"name": "Fortran", "year": 1957},
{"name": "Python", "year": 1991},
{"name": "Go", "year": 2009},
)
cur.executemany("INSERT INTO lang VALUES(:name, :year)", data)
# The qmark style used with executemany():
lang_list = [
("Fortran", 1957),
("Python", 1991),
("Go", 2009),
]
cur.executemany("INSERT INTO lang VALUES(?, ?)", lang_list)
# And this is the named style:
cur.execute("SELECT * FROM lang WHERE first_appeared = :year", {"year": 1972})
# This is the qmark style used in a SELECT query:
params = (1972,)
cur.execute("SELECT * FROM lang WHERE first_appeared = ?", params)
print(cur.fetchall())
.. testoutput::