все Python 3sqlite3функция
sqlite3.connect()
соединение и запросы
Открывает базу SQLite и возвращает объект Connection. Строка ':memory:' создаёт временную базу в памяти, которая исчезает при закрытии.
Синтаксис
sqlite3.connect(database, *, timeout=5.0, detect_types=0, autocommit=...)
Каждый connect(':memory:') — отдельная пустая база: таблица, созданная через одно соединение, через другое не видна. Несуществующий файл connect молча создаёт, поэтому опечатка в пути даёт пустую базу и затем no such table. Все параметры, кроме database, передавайте по имени: позиционный timeout с 3.13 даёт DeprecationWarning, а с 3.15 это TypeError. Соединение закрывают close(), а не with.
Примеры
import sqlite3
a = sqlite3.connect(':memory:')
b = sqlite3.connect(':memory:')
a.execute('CREATE TABLE t(x)')
try:
b.execute('SELECT * FROM t')
except sqlite3.OperationalError as e:
print(e) # → no such table: t — у b своя база
a.close()
b.close()
# Python 3.15+
import sqlite3
try:
sqlite3.connect(':memory:', 5.0) # timeout позиционно
except TypeError as e:
print(type(e).__name__) # → TypeError
sqlite3.connect(':memory:', timeout=5.0).close() # так правильно
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности