连接与 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,)