SQLiteを用いた住所録: address_sqlite

リレーショナルデータベース(RDB)を使った簡単な住所録を作成してみます。最も単純なファイルベース(データベース=1ファイル)であるSQLiteを使って,一通りの操作を行うCRUD(Create, Read, Update, Delete)システムを作ります。

←前に戻る ↑トップへ 次に進む→


準備

 SQLiteがその環境にインストールされていること,そして,SQLiteを使用するためのPythonモジュールである"sqlite"がPython環境にインストールされていることを確認しておいて下さい。入っていないようでしたらインストールしておきましょう。

 次に,住所録を作成するフォルダ(ディレクトリ)を作成します。今回は「address」フォルダを作成し,ここに全てのファイルを保存しておくようにします。

データベースを作成する

 下記の要領で住所録用のデータベースである「address.db」を作成します。

 「address.db」の中にCREATE文を使って「tbl_address」テーブルを作ります。「id」に「PRIMARY KEY」を設定するの忘れないようにして下さい。これを忘れるとidが重複します。

 出来上がった「tbl_address」テーブルが正しいかどうか,SQLite3の.dump命令で確認します。

 作成に失敗した時にはDROP文を使ってテーブルを消去し,もう一度CREATE文で作成しなおして下さい。

 RDBのデータを操作するためには,SQL言語による命令文(SQL文)を通じて行います。詳細はデータベース関連の講義や書籍に譲りますが,ここでは下記の4つの命令,INSERT(データの追加),SELECT(データの検索),UPDATE(データの更新),DELETE(データの削除)のみ,実行例を下記に示します。

以上の4つの命令をフォームから実行し,表示するアプリケーションを作成します。

SQliteを終了するには,.exitを使います。

作成手順

  1. 予め3つ以上のデータを「address.db」にINSERTしておいて下さい。例えばSQLite3から

    としておきます。
  2. 最初のaddress.py

    のように作成し,Flaskから動作させ,ブラウザからデータを表示できていることを確認して下さい。

ここまでできたら,元のaddress.pyを別名で保存しておき,下記のようなaddress.pyを完成させます。上から順に(1)~(5)の順で,必要なテンプレートファイル(templates/template.html)やブロック定義ファイル(templates/index.html, templates/detail.html)も併せてを作って行くようにして下さい。いっぺんに作るとどこが間違っていたか分からずにハマりますので気を付けて下さい。

完成版address.py

完成版templates/template.html

完成版templates/index.htmlとブラウザ表示

完成版templates/detail.htmlとブラウザ表示

練習問題2
  1. 一度すべてのデータを消去してから,下記のデータを入力し,住所録として使用できることを確認せよ。動作時のスナップショット(「データ更新・削除」「データ表示」「データ追加」)は必ず保存してレポートに説明付きで張り付けておくこと。

    ID名前よみがな住所メモ
    1中曽根康弘なかそねやすひろ〒437-8555 静岡県袋井市豊沢2200-2
    2竹下登たけしたのぼる〒420-8538 静岡県静岡市葵区相生町12-18DAIGOの母方の祖父
    3宇野宗佑うのそうすけ〒100-0014 東京都千代田区永田町2丁目3-1短命内閣

  2. [できそうならチャレンジ!問題] ユーザ側から氏名,よみがな,住所,メモを対象とした検索機能を実現せよ。

←前に戻る ↑トップへ 次に進む→