SQLiteをPythonで
30分プログラム、その213。前々から気になっていたSQLiteをPythonで使ってみる。
Python2.5からsqlite3モジュールが標準添付されたらしいけれど、MacPortsだと別途py25-sqlite3をインストールする必要があった。sqlite3モジュールは存在するけど、importすると例外を吐く。
SQL文が使えつつ、SQLサーバがいらないのはありがたい。特にレンタルサーバなどで動かす場合には。
インストール方法
$ sudo port install sqlite3 $ sudo port install py25-sqlite3
ソースコード
#! /usr/bin/python # -*- mode:python; coding:utf-8 -*- # # sqlite.py - # # Copyright(C) 2008 by mzp # Author: MIZUNO Hiroki / mzpppp at gmail dot com # http://howdyworld.org # # Timestamp: 2008/01/02 22:04:20 # # This program is free software; you can redistribute it and/or # modify it under MIT Lincence. # import sqlite3 # メモリ上に保存するようにする。 # connect = sqlite3.connect('/tmp/db')なども可能。 connect = sqlite3.connect(':memory:') # テーブルの作成 c = connect.cursor() c.execute('CREATE TABLE users (id INTEGER PRIMARY KEY,name TEXT)') # データの挿入 c.execute('INSERT INTO users VALUES (1,"bar")') c.execute('INSERT INTO users VALUES (0,"foo")') c.execute('INSERT INTO users VALUES (2,?)',('baz',)) c.execute('INSERT INTO users VALUES (3,?)',(') DELETE FROM users --',)) # SQL inject? # データを表示する for user in c.execute('SELECT * FROM users ORDER BY id'): print user # データの削除 c.execute('DELETE FROM users WHERE id=0')