Справочник · модуль 14 «Базы данных и SQL»
Commit
Изменения в базе сохраняются командой commit. Без неё после закрытия программы они пропадут.
Сравнение из жизни
Как нажать «Сохранить» в документе.
Пример
После commit запись сохранена
conn = sqlite3.connect("shop.db")
conn.execute("INSERT INTO pets VALUES ('Рекс', 7)")
conn.commit()
conn.close()
again = sqlite3.connect("shop.db")
print(again.execute("SELECT COUNT(*) FROM pets").fetchone())Результат
(2,)
Учитель в уроке Изменения лежат во временной памяти, пока не вызван метод commit. Слева мы добавили питомца и закрыли базу без commit. При новом открытии питомца там нет. Справа после commit запись сохранилась.
Запомнить
commit — как кнопка «Сохранить». Без неё изменения пропадут.
Частые ошибки новичков на этой теме
Кажется: Запрос к базе можно склеить из ввода
На самом деле: Данные передаём в запрос параметрами, а не склейкой строк.
Тема из урока 14.5 «SQL из Python» курса PythonAZ.