← К оглавлению занятия

🐛 Ошибки

📁 Блок: SQL / SQLite / Google Colab ⏱️ Время изучения: ~90 мин 🎯 Сложность: Средняя

⚡ Кратко: суть занятия

SQLite — лёгкая реляционная база данных без отдельного сервера: в Colab она хранится в обычном файле .db.

В Python подключение создаётся через sqlite3.connect('example_database.db'), а запросы выполняются через курсор или pandas.

Для изменений нужен conn.commit(): без него таблица или вставленные строки могут не сохраниться.

Минимальный пример: создать DataFrame, записать его через df.to_sql('employees', conn, if_exists='replace', index=False), затем прочитать через pd.read_sql_query().

SQL-запросы из занятия повторяют базовые действия: SELECT *, фильтр WHERE, сортировку ORDER BY, AVG и COUNT.

pandas удобен как мост: таблица живёт в DataFrame, а SQLite даёт возможность тренировать обычный SQL.

Топ-3 ошибки: забыть commit(), записать лишний индекс в таблицу, вставлять значения строкой вместо параметров ?.

Типичные ошибки

Нет conn.commit()

Таблица или вставленная строка видны в текущей сессии, но изменения могут не сохраниться. После DDL/DML вызывайте commit().

Лишняя колонка index

Если забыть index=False, pandas запишет индекс DataFrame как отдельный столбец.

SQL собирается через f-string

Для вставки значений используйте параметры ?, а не склейку строк.

Повторный запуск ломает CREATE TABLE

Если таблица уже существует, SQLite вернёт ошибку. Для учебного ноутбука можно использовать CREATE TABLE IF NOT EXISTS.

Непонятный результат COUNT

Давайте агрегату понятный алиас: COUNT(id) AS number_employees.

Подключение не закрыто

В конце ноутбука закрывайте соединение через conn.close(), особенно если дальше скачиваете файл базы.