Pythonの標準ライブラリにはSQLiteと呼ばれるデータベースが付属しており、別途データベースを用意しなくとも簡単にプロトタイプなどを作成することができます。
環境
- Mac OS Big Sur 11.2.1
- Python 3.9.1
- SQLite 3.32.3
使い方
SQLiteはPythonの標準ライブラリに含まれているため、Pythonが使用できる状態であればすぐに使用することができます。
$ sqlite3 <DATABASE_FILE>
sqlite>
ターミナルでファイルを使用する
仮に単語カードのデータを保存するようなテーブルを考えます。必要なのはIDと質問、答えだと思いますので以下のようなSQLを用意します。
schema.sql
DROP TABLE IF EXISTS card;
CREATE TABLE card (
id INTEGER PRIMARY KEY AUTOINCREMENT,
question TEXT,
answer TEXT
);
これを直接実行する場合、sqliteに接続した上で.read
コマンドを実行します。
sqlite> .read schema.sql
Pythonでファイルを使用する
上記ターミナルと同じファイルを使用する場合、以下のようにファイルを読み込んだ上でexecutescript
を実行します。
import sqlite3
conn = sqlite3.connect('<DATABASE_FILE>')
cursor = conn.cursor()
with open('./schema.sql') as f:
cursor.executescript(f.read())
テーブル確認
テーブルの情報はsqlite_master
テーブルに保存されています。よって正常に実行できていれば、以下の通り先ほどのテーブル情報が表示されるはずです。
$ sqlite3 <DATABASE_FILE>
sqlite> select * from sqlite_master;
table|card|card|2|CREATE TABLE card (
id INTEGER PRIMARY KEY AUTOINCREMENT,
question TEXT,
answer TEXT
)
table|sqlite_sequence|sqlite_sequence|3|CREATE TABLE sqlite_sequence(name,seq)