インストール
SQLite自体のインストールは他の資料を参照してください。 MacやLinux系のシステムだと標準で入っていることが多いです。
Pythonから使うAPIは標準ライブラリに入っているので、特にインストール作業は必要ありません。
面倒な設定などもいらないので、ローカルで動くようなプログラムのちょっとした開発ならSQLiteを使うのがおすすめです。
データベースの選び方についてはPython/データベースの選択を参照のこと。
データベースへの接続・更新
プログラムからデータベースへ接続するのは一定のパターンがあり、ほとんどの言語で以下のような手順をふみます。
まず、データベースへの接続を行います。 その戻り値としてデータベースの情報を格納したオブジェクトを取得します。 一般にこのオブジェクトは「コネクタ」と呼ばれます。
次にそのコネクタからデータベースのどこのデータをあつかっているか、といった情報を扱うためのオブジェクトを取得します。 一般にこのオブジェクトは「カーソル」と呼ばれます。
SQLなどはカーソルを通じて発行され、書き込み終了のときのコミットやデータベースのクローズなどはコネクタを通じて実行されます。
この手順をふまえて、「test.db」という名前のファイルを開き(無ければ制作し)、testというテーブルが無ければ制作し、データを1件追加するには以下のようにします。
import sqlite3 conn = sqlite3.connect('test.db') cursor = conn.cursor() cursor.execute("CREATE TABLE IF NOT EXISTS test (id int,data txt )") cursor.execute("INSERT INTO test VALUES (1,'This is test.')") conn.commit() conn.close()
以下のように変数を外に出すこともできます。またマルチバイト文字も利用できますが、その時にはUnicode型を使わないといけません。
cursor.execute(u"INSERT INTO test VALUES (?,?)",(2,u'これはテスト'))
こちらの方が特殊文字などをエスケープしてくれるので、SQLインジェクションなどに対しても安全です。
Page Info | |
---|---|
Page Name : | Python/SQLiteから使う基礎 |
Page aliases : | None |
Page owner : | njf |
Can Read | |
Groups : | All visitors |
Users : | All visitors |
Can Edit | |
Groups : | All visitors |
Users : | All visitors |
Counter: 1780,
today: 1,
yesterday: 0
Princeps date: 2016-12-13 (Tue) 15:05:51
Last-modified: 2016-12-25 (Sun) 10:10:00 (JST) (2463d) by njf