sqlite練習

http://initd.org/pub/software/pysqlite/doc/usage-guide.html
を参考に練習。

練習用データベースを作る。(エラーもそのままコピーしているので注意)

% sqlite3 mydb
SQLite version 3.4.0
Enter ".help" for instructions
sqlite> create table people
   ...> (
   ...>  family_name varchar(20),
   ...>  given_name varchar(20),
   ...>  height integer,
   ...>  weight integer
   ...> );
sqlite> insert into people (family_name, given_name, height, weight values ('kurosaki', 'ichigo', 174, 61);
SQL error: near "values": syntax error
sqlite> insert into people (family_name, given_name, height, weight) values ('kurosaki', 'ichigo', 174, 61);
sqlite> insert into people (family_name, given_name, height, weight) values ('chado', 'yasutora', 197, 112);
sqlite> insert into people (family_name, given_name, height, weight) values ('ishida', 'uryu', 171, 55);
sqlite> .q


下の内容のスクリプトex.pyを書く。

from pysqlite2 import dbapi2 as sqlite

FIELD_MAX_WIDTH = 20
TABLE_NAME = 'people'
SELECT = 'select * from %s order by family_name, given_name, height, weight' % TABLE_NAME

con = sqlite.connect("mydb")

cur = con.cursor()
cur.execute(SELECT)

for row in cur:
    print '%s %s,%dcm,%dkg' % (row[0], row[1], row[2], row[3])


実行結果

% python ex.py
chado yasutora,197cm,112kg
ishida uryu,171cm,55kg
kurosaki ichigo,174cm,61kg

アルファベット順にソートされるみたい。