インストール anchor.png Edit

SQLite自体のインストールは他の資料を参照してください。 MacやLinux系のシステムだと標準で入っていることが多いです。

Pythonから使うAPIは標準ライブラリに入っているので、特にインストール作業は必要ありません。

面倒な設定などもいらないので、ローカルで動くようなプログラムのちょっとした開発ならSQLiteを使うのがおすすめです。

データベースの選び方についてはPython​/データベースの選択を参照のこと。

Page Top

データベースへの接続・更新 anchor.png Edit

プログラムからデータベースへ接続するのは一定のパターンがあり、ほとんどの言語で以下のような手順をふみます。

まず、データベースへの接続を行います。 その戻り値としてデータベースの情報を格納したオブジェクトを取得します。 一般にこのオブジェクトは「コネクタ」と呼ばれます。

次にそのコネクタからデータベースのどこのデータをあつかっているか、といった情報を扱うためのオブジェクトを取得します。 一般にこのオブジェクトは「カーソル」と呼ばれます。

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 Top

データの参照 anchor.png Edit

データの参照は以下のようになります。

import sqlite3

conn = sqlite3.connect('test.db')

cursor = conn.cursor()

cursor.execute("SELECT * FROM test;")

for row in cursor:
    print row[0],row[1]

conn.close()

特に難しいところはないでしょう。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 259, today: 1, yesterday: 1
初版日時: 2016-12-14 (水) 00:05:51
最終更新: 2016-12-25 (日) 19:10:00 (JST) (272d) by njf
広告

ログイン

ユーザー名:


パスワード:





パスワード紛失


NJF