ページへ戻る
+ Links
印刷
Python/SQLiteから使う基礎
の編集 ::
NJF Wiki
xpwiki
:
Python
/
SQLiteから使う基礎
の編集
Python/SQLiteから使う基礎 の編集
詳細な入力項目を表示
ページタイトル
( 空白で自動設定 )
:
ページ並び順
( 0-9 小数可 標準:1 )
:
ページ別名
(複数は[
改行
]で区切る)
:
ページ内容:
*インストール [#rd1fa2b7] SQLite自体のインストールは他の資料を参照してください。 MacやLinux系のシステムだと標準で入っていることが多いです。 Pythonから使うAPIは標準ライブラリに入っているので、特にインストール作業は必要ありません。 面倒な設定などもいらないので、ローカルで動くようなプログラムのちょっとした開発ならSQLiteを使うのがおすすめです。 データベースの選び方については[[Python/データベースの選択]]を参照のこと。 *データベースへの接続・更新 [#s190360f] プログラムからデータベースへ接続するのは一定のパターンがあり、ほとんどの言語で以下のような手順をふみます。 まず、データベースへの接続を行います。 その戻り値としてデータベースの情報を格納したオブジェクトを取得します。 一般にこのオブジェクトは「コネクタ」と呼ばれます。 次にそのコネクタからデータベースのどこのデータをあつかっているか、といった情報を扱うためのオブジェクトを取得します。 一般にこのオブジェクトは「カーソル」と呼ばれます。 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インジェクションなどに対しても安全です。 *データの参照 [#h41eb251] データの参照は以下のようになります。 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() 特に難しいところはないでしょう。
編集の要約:
Q & A 認証:
ページ更新時は次の質問にお答えください。(プレビュー時は必要ありません)
Q:
「名古屋」の読みがな?(ひらがなで)
A:
お名前:
タイムスタンプを変更しない
テキスト整形のルールを表示する
添付ファイル
: