ページへ戻る

− Links

 印刷 

Python​/SQLiteから使う基礎 の変更点 :: NJF Wiki

xpwiki:Python/SQLiteから使う基礎 の変更点

« Prev[3]  
2: 2016-12-13 (火) 17:47:59 njf[4] ソース[5] バックアップ No.2 を復元して編集[6] 現: 2016-12-25 (日) 18:10:00 njf[4] ソース[7] 編集[8]
Line 12: Line 12:
*データベースへの接続・更新 [#s190360f] *データベースへの接続・更新 [#s190360f]
-「test.db」という名前のファイルを開き(無ければ制作し)、testというテーブルが無ければ制作し、データを1件追加するには以下のようにします。+プログラムからデータベースへ接続するのは一定のパターンがあり、ほとんどの言語で以下のような手順をふみます。 
 + 
 +まず、データベースへの接続を行います。 
 +その戻り値としてデータベースの情報を格納したオブジェクトを取得します。 
 +一般にこのオブジェクトは「コネクタ」と呼ばれます。 
 + 
 +次にそのコネクタからデータベースのどこのデータをあつかっているか、といった情報を扱うためのオブジェクトを取得します。 
 +一般にこのオブジェクトは「カーソル」と呼ばれます。 
 + 
 +SQLなどはカーソルを通じて発行され、書き込み終了のときのコミットやデータベースのクローズなどはコネクタを通じて実行されます。 
 + 
 +この手順をふまえて、「test.db」という名前のファイルを開き(無ければ制作し)、testというテーブルが無ければ制作し、データを1件追加するには以下のようにします。
 import sqlite3  import sqlite3
 + 
 conn = sqlite3.connect('test.db')  conn = sqlite3.connect('test.db')
 + 
 cursor = conn.cursor()  cursor = conn.cursor()
 + 
 cursor.execute("CREATE TABLE IF NOT EXISTS test (id int,data txt )")  cursor.execute("CREATE TABLE IF NOT EXISTS test (id int,data txt )")
 + 
 cursor.execute("INSERT INTO test VALUES (1,'This is test.')")  cursor.execute("INSERT INTO test VALUES (1,'This is test.')")
 + 
 conn.commit()  conn.commit()
 + 
 conn.close()  conn.close()
Line 38: Line 49:
 import sqlite3  import sqlite3
 + 
 conn = sqlite3.connect('test.db')  conn = sqlite3.connect('test.db')
 + 
 cursor = conn.cursor()  cursor = conn.cursor()
 + 
 cursor.execute("SELECT * FROM test;")  cursor.execute("SELECT * FROM test;")
 + 
 for row in cursor:  for row in cursor:
     print row[0],row[1]      print row[0],row[1]
 + 
 conn.close()  conn.close()
特に難しいところはないでしょう。 特に難しいところはないでしょう。
« Prev[3]