Справочник · модуль 14 «Базы данных и SQL»
Sqlite3
Модуль sqlite3 работает с базой из Python. connect открывает базу, cursor даёт курсор для запросов.
Сравнение из жизни
Как позвонить в справочную: connect набирает номер, cursor — оператор на линии.
Пример
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 возвращает все ряды списком кортежей.
Запомнить
connect и cursor — как открыть дверь библиотеки и позвать библиотекаря. Через него идут все вопросы.
Частые ошибки новичков на этой теме
Кажется: Запрос к базе можно склеить из ввода
На самом деле: Данные передаём в запрос параметрами, а не склейкой строк.
Тема из урока 14.5 «SQL из Python» курса PythonAZ.