データベースの目的は、極論すれば「検索」にある。今回は、データベース作成に使ったSQLiteManager を使い、SQL文による検索を行う。
データベースとSQL文
データベースの目的は、極論すれば「検索」にある。
逆に考えると、検索より「挿入」や「削除」「更新」が多いような処理(たとえばログ管理)はデータベース向きではない。
前回、戦国時代の有名人のプロフィールを「挿入」したが、これからしばらくは、このデータを使って「検索」することを学んでいくことにする。
データベース(RDBMS)を操作するには「SQL」と呼ばれる言語を使う。
SQLは、RDBMSによる差はあるものの、基本的な部分はSQL92やSQL99という規格で共通化されている。SQLiteはSQL92に準拠しており、これから紹介するSQL文のほとんどは、MySQL, PostgreSQL, Oracle, SQL Server, DB2 などでも利用することができる。
逆に考えると、検索より「挿入」や「削除」「更新」が多いような処理(たとえばログ管理)はデータベース向きではない。
前回、戦国時代の有名人のプロフィールを「挿入」したが、これからしばらくは、このデータを使って「検索」することを学んでいくことにする。
データベース(RDBMS)を操作するには「SQL」と呼ばれる言語を使う。
SQLは、RDBMSによる差はあるものの、基本的な部分はSQL92やSQL99という規格で共通化されている。SQLiteはSQL92に準拠しており、これから紹介するSQL文のほとんどは、MySQL, PostgreSQL, Oracle, SQL Server, DB2 などでも利用することができる。
SQL文によるデータベース検索
SQLiteManager は、直接SQL文を実行することができる。
メニューから「SQL」をクリックし、上図のように
これが検索を行うためのSQL文である。
SELECT は検索することを意味する。
FROM で、どのテーブルから検索するのかを指定する。ここでは前回作成した chronologic テーブルを検索の対象としている。
WHERE は検索条件だ。ここでは、カラム name が '徳川家康' であるレコードを検索する。
SQL文は最後にセミコロン ';' を置いて区切りを明示する。これは省略可能である。
SQL文に間違いがないかどうか確認したら、「実行」ボタンをクリックする。
すると下図のように、一瞬のうちに '徳川家康' のレコード(行)のみが表示される。
SELECT * FROM chronologic WHERE name='徳川家康';と入力する。
これが検索を行うためのSQL文である。
SELECT は検索することを意味する。
FROM で、どのテーブルから検索するのかを指定する。ここでは前回作成した chronologic テーブルを検索の対象としている。
WHERE は検索条件だ。ここでは、カラム name が '徳川家康' であるレコードを検索する。
SQL文は最後にセミコロン ';' を置いて区切りを明示する。これは省略可能である。
SQL文に間違いがないかどうか確認したら、「実行」ボタンをクリックする。
すると下図のように、一瞬のうちに '徳川家康' のレコード(行)のみが表示される。
次回からはいよいよ、PHPスクリプトを使って SQLite を操作していく。
(この項おわり)