连接与 with 语句
56.2 连接与 with 语句
sqlite3.connect(路径) 返回连接对象;:memory: 表示内存数据库(程序结束即消失)。
推荐使用 with conn: 自动 commit;with conn: 异常时自动 rollback。
操作完记得 close,或全程用 with 避免忘记关闭。
💡 路径建议用英文,避免中文目录导致部分工具打不开。
with 自动提交
import sqlite3
with sqlite3.connect('school.db') as conn:
cur = conn.cursor()
cur.execute('CREATE TABLE IF NOT EXISTS demo (id INTEGER PRIMARY KEY, msg TEXT)')
cur.execute('INSERT INTO demo(msg) VALUES (?)', ('hello',))
# 离开 with 块后自动 commit 并关闭
print('写入完成')
内存数据库(练习用)
import sqlite3
with sqlite3.connect(':memory:') as conn:
conn.execute('CREATE TABLE t(n INTEGER)')
conn.execute('INSERT INTO t VALUES (1)')
print(conn.execute('SELECT n FROM t').fetchone()) # (1,)