November 8, 2009

Pythonのsqlite3のおおまかな手順

Pythonのsqlite3のおおまかな手順を記す。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# sqliteモジュールをインポートする
import sqlite3

# コネクションをつくる
conn = sqlite3.connect('post_tube.sqlite3')

# カーソルをコネクションからつくる
c = conn.cursor()

# テーブルをつくる
try:
    c.execute('''create table stocks (date text, trans text, symbol text, qty real, price real)''')
except sqlite3.OperationalError:
    print "table stocks already exists"

# データ行を追加する
c.execute("insert into stocks values ('2006-01-05','BUY','RHAT',100,35.14)")

sql = "insert into stocks values (?,?,?,?,?)"
c.execute(sql, ('2006-01-06','BUY','RHAT',100,35.14))

c.executemany("insert into stocks values (?,?,?,?,?)", 
    [('2006-01-07','BUY','RHAT', 150, 35.14),
    ('2006-01-08','BUY','RHAT', 300, 35.14)])

# レコード取得
c.execute("select * from stocks")
for row in c:
    print row[0], row[1], row[2]

# レコード更新
c.execute("update stocks set trans='SELL' where qty > 100")

# レコード削除
c.execute("delete from stocks")

# コネクションの変更を保存(コミット)する
conn.commit()

# 終わったらカーソルを閉じる
c.close()

12.13. sqlite3 — DB-API 2.0 interface for SQLite databases http://docs.python.org/library/sqlite3.html