SQLite はサーバではなくライブラリとして実装される軽量のデータベースです。 次に示すのは、Python for Android の sqlite3 モジュールで SQLite を利用する例です。
import sqlite3 con = sqlite3.connect("/mnt/sdcard/sampledb") con.isolation_level = None cur = con.cursor() cur.execute("CREATE TABLE sample (id INTEGER, name TEXT)") cur.close() con.close()
まず、connect() を呼び出してデータベースに接続します。 今回の例では /mnt/sdcard/sampledb にデータベースを作成します。 次に、isolation_level を None に設定して自動コミットモードを有効にします。 最後に、cursor() を呼び出してカーソルオブジェクトを取得し、 execute() で CREATE TABLE 文を実行してテーブルを作成します。
次に示すのは、レコードを追加する例です。
import sqlite3 con = sqlite3.connect("/mnt/sdcard/sampledb") con.isolation_level = None cur = con.cursor() cur.execute("INSERT INTO sample (id, name) VALUES (1, 'Cupcake')") cur.execute("INSERT INTO sample (id, name) VALUES (2, 'Donut')") cur.execute("INSERT INTO sample (id, name) VALUES (3, 'Eclair')") cur.close() con.close()
次に示すのは、レコードを更新する例です。今回の例ではプレースホルダを使用します。
import sqlite3 con = sqlite3.connect("/mnt/sdcard/sampledb") con.isolation_level = None cur = con.cursor() cur.execute("UPDATE sample SET name=? WHERE id=?", ("Froyo", "2")) cur.close() con.close()
次に示すのは、レコードを削除する例です。
import sqlite3 con = sqlite3.connect("/mnt/sdcard/sampledb") con.isolation_level = None cur = con.cursor() cur.execute("DELETE FROM sample WHERE id=3") cur.close() con.close()
次に示すのは、レコードを参照する例です。name 値を一覧表示します。
import sqlite3 con = sqlite3.connect("/mnt/sdcard/sampledb") con.isolation_level = None cur = con.cursor() cur.execute("SELECT name FROM sample ORDER BY id") for i in cur: print i[0] cur.close() con.close()
なお、sqlite3.connect(":memory:") とすると、ファイルではなくメモリ上にデータベースを作成します。