контекстный менеджер дает возможность выполнить команду commit, которая сохраняет изменения, но не закрывает соединение с базой данных. Поэтому нужно самостоятельно закрыть соединение, вызвав метод close(). Ссылка на документацию: https://docs.python.org/3/library/sqlite3.html#sql...
Например, при использовании модуля sqlite3 можно сделать следующее:
```python
import sqlite3
con = sqlite3.connect("tutorial.db")
cur = con.cursor()
cur.execute("CREATE TABLE movie(title, year, score)")
cur.execute("""
INSERT INTO movie VALUES
('Monty Python and the Holy Grail', 1975, 8.2),
('And Now for Something Completely Different', 1971, 7.5)
""")
#con.commit()
print(cur.execute("SELECT * FROM movie").fetchall())
```
Метод insert открывает транзакцию, которую нужно подтвердить с помощью команды commit (запустите сначала код с комментарием), а затем закомментируйте строку con.commit(), чтобы записать данные в базу. Выводится та часть таблицы, которая не была подтверждена командой commit, так как объект содержит информацию о нескоммитанных изменениях.
Контекстный менеджер делает только один коммит (неявный через контекстный менеджер), а в коде есть две команды insert. Поэтому последний insert не записывается в базу данных. Кроме того, постарайтесь вставлять значения в таблицу без использования форматирования строк.