Справочник · модуль 14 «Базы данных и SQL»
Execute и fetch
Метод execute отправляет запрос в базу. fetchall возвращает все ряды списком, fetchone — один ряд.
Сравнение из жизни
Как задать вопрос оператору и записать ответ.
Пример
import sqlite3
conn = sqlite3.connect("shop.db")
cur = conn.cursor()
cur.execute("CREATE TABLE pets (name TEXT, age INTEGER)")
cur.execute("INSERT INTO pets VALUES ('Мурка', 3)")
cur.execute("SELECT name, age FROM pets")
print(cur.fetchall())Результат
[('Мурка', 3)]Учитель в уроке Модуль sqlite3 уже есть в Python. Команда connect открывает базу. Если файла нет, она его создаст. Курсор — это помощник, через которого отправляют запросы. Метод execute отправляет запрос. Метод fetchall возвращает все ряды списком кортежей.
Запомнить
execute и fetchall — как задать вопрос библиотекарю и получить стопку ответов.
Частые ошибки новичков на этой теме
Кажется: Запрос к базе можно склеить из ввода
На самом деле: Данные передаём в запрос параметрами, а не склейкой строк.
Тема из урока 14.5 «SQL из Python» курса PythonAZ.