Python Glossary English

все 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Сообщить о неточности