이미 깔려 있고, 이미 쓸 만해
Python은 sqlite3를 표준 라이브러리에 담아서 줘. pip install도 필요 없고 의존성을 더 걸 것도 없어. CPython과 함께 오는 C SQLite 라이브러리를 감싼 물건이야.
가장 짧은 사용법은 이래.
import sqlite3
conn = sqlite3.connect('myapp.db')
conn.execute('CREATE TABLE IF NOT EXISTS notes(id INTEGER PRIMARY KEY, body TEXT)')
conn.execute('INSERT INTO notes(body) VALUES (?)', ('hello',))
conn.commit()
for row in conn.execute('SELECT * FROM notes'):
print(row)
conn.close()돌아가긴 해. 하지만 알아야 할 걸 거의 다 건너뛰었지. 남은 아홉 lesson이 그 빈칸을 채워. 먼저 확인할 것부터 보자.
sqlite3.sqlite_version— 안에 들어 있는 libsqlite 버전이야. 시스템 CLI보다 오래된 경우가 많아.sqlite3.version— Python 모듈 자체의 버전이야. 덜 흥미로워.conn.row_factory = sqlite3.Row— row를 dict처럼 다루게 해줘. py05에서 제대로 다뤄.
Tip: CLI의 sqlite3가 Python이 품은 libsqlite보다 훨씬 새롭다면
pysqlite3-binary를 깔고 그걸 import해. API는 그대로인데 엔진만 새것이라 STRICT나 JSONB 같은 게 다 돌아가.