SQLite 3.3.6 Win32 のインストール
〜 SQL のお手軽実装 〜
2006-07-12 作成 福島
2006-07-14 更新 福島
TOP > tips > sqlite3-win
・SQLite Win32 をインストール
SQLite のダウンロードページの Precompiled Binaries For Windows から sqlite-3_3_6.zip をダウンロードし展開

インストールといっても、展開するだけです。
展開すると、実行ファイルが 1 つだけ現れます。

■コマンド プロンプト - unzip 
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.

C:\>mkdir sqlite

C:\sqlite>unzip.exe sqlite-3_3_6.zip

C:\sqlite>dir
 ドライブ C のボリューム ラベルは Win2000 です
 ボリューム シリアル番号は D4EA-CF97 です

 C:\sqlite のディレクトリ

2006/07/12  15:05       <DIR>          .
2006/07/12  15:05       <DIR>          ..
2006/07/12  14:45              168,218 sqlite-3_3_6.zip
2006/06/06  22:35              349,627 sqlite3.exe
               2 個のファイル             517,845 バイト
               2 個のディレクトリ  37,868,953,600 バイトの空き領域

C:\sqlite>
※ sqlite3.exe が展開されたファイル。これを実行します。

・実行してみる
■コマンド プロンプト - sqlite3 
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.

C:\sqlite>.\sqlite3.exe sample
SQLite version 3.3.6
Enter ".help" for instructions
sqlite> create table table1 (name varchar(10), value integer) ;
sqlite> insert into table1 values ('apple',100) ;
sqlite> insert into table1 values ('orange',150) ;
sqlite> select * from table1 ;
apple|100
orange|150
sqlite> .quit

C:\sqlite>

・python から SQLite を使う

python 2.4 を使用しますので、インストールしておいてください。

SQLite の構造は単純で、python と pysqlite だけでデータを格納します。
※ perl と dbm の関係に似ています。

pysqlite 2.3.2 Win32 をインストール
pysqlite のページから Windows binaries for Python 2.4 をダウンロードし、インストール。
特に指定するものはありません。
を押していけば終了します。





・実行
■コマンド プロンプト - python 
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.


C:\sqlite>python
Python 2.4.3 (#69, Mar 29 2006, 17:35:34) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
import pysqlite2.dbapi2 as sqlite

con = sqlite.connect("./sample")

cur = con.cursor()
rows = cur.execute("SELECT * FROM test1").fetchall()
cur.close()

rows
[(u'apple', 100), (u'orange', 150)]
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>

cur = con.cursor()
cur.execute("CREATE TABLE table2(v TEXT, f FLOAT, i INTEGER)")
cur.execute("INSERT INTO table2(v,f,i) VALUES (?,?,?)", (1,2,3))
cur.close()

cur = con.cursor()
row = cur.execute("SELECT * FROM table2").fetchone()
cur.close()

con.close()

row
(u'1', 2.0, 3)