Полезные приемы работы с URI SQLite3 включают в себя:
>>> con = sqlite3.connect("file:tutorial.db?mode=ro", uri=True) >>> con.execute("CREATE TABLE readonly(data)") # Traceback (most recent call last): # OperationalError: attempt to write a readonly database
Явное создание нового файла базы данных, если он еще не существует. Вызовет OperationalError
, если не удастся создать новый файл.
>>> con = sqlite3.connect("file:nosuchdb.db?mode=rw", uri=True) # Traceback (most recent call last): # OperationalError: unable to open database file
db = "file:mem1?mode=memory&cache=shared" con1 = sqlite3.connect(db, uri=True) con2 = sqlite3.connect(db, uri=True) with con1: con1.execute("CREATE TABLE shared(data)") con1.execute("INSERT INTO shared VALUES(28)") res = con2.execute("SELECT data FROM shared") assert res.fetchone() == (28,)