何となくじゃダメ!データベースをきっちり理解する--WebデザイナのためのPHP入門

たにぐちまこと(H2O Space.)
2008-03-25 17:00:00
  • このエントリーをはてなブックマークに追加

データベースを生かすも殺すもSQL次第

 データベースを語る上で欠かせない存在が「SQL(エスキューエル)」というものだ。「Structured Query Language」の略称で、「クエリ」などと呼ばれることもある。データベースはこのSQLを使うことで、実にさまざまな操作を行うことができる。

 例えば、次のSQLを見てみよう。

SELECT item_name, image, price, url FROM item_table WHERE price >= 1000 AND price < 2000 ORDER BY price ASC;

 このSQLは、「商品を格納したテーブルから、1000円以上で2000円未満の商品のみを、価格の安い順で並べて取得し、商品名、画像、価格と詳細URLを取得する」というSQLである。

 一見すると非常に難しそうに感じるが、実際にはかなりシンプルな構成であることが分かるだろう。分解してみよう。

SELECT

 この一言で「取得する」という意味を持っている

item_name, image, price, url

 これは、列の名前のことだ。カンマ区切りでいくつでもつなげることができる。なお、データベースでは列のことを「フィールド」とか「カラム」などと呼ぶことが多いので覚えておくと良いだろう。

FROM item_table

 これは「どこから」、つまり表を示す。表のことをデータベースでは「テーブル」と呼ぶ。

WHERE price >= 1000

 ここからは、その条件だ。これは「1000円以上」という意味で「<=」という記号は「≦」と同じ意味だ。

AND price < 2000

 「AND」は前の条件に加えてという意味で、ここでは「1000円以上で2000円未満」という意味になっている。

ORDER BY price ASC

 ORDER BYは、並び替えの列(フィールド)を指定する。priceは価格で、「ASC」というのは「ascending(昇順)」という意味。つまり、小さい順で並べるというわけだ。

 このように、SQLは簡単な英単語や算用記号の組み合わせで、複雑な条件を作り出すことができる。例えば「件数を制限したい」という場合にはこうだ。

SELECT * FROM item_table LIMIT 0, 10;

 「LIMIT」が件数制限で、ここでは「最初から10件」となる。さらに、次のページに行くなら

SELECT * FROM item_table LIMIT 10, 10;

 とすればよい。

 SQLは、決して専門的な技術でもないし、プログラム技術が必要なわけでもない。「プログラムは分からない」というデザイナであっても、データベースには興味を持ち、個人的なデータの整理にデータベースを使っている人もいたりするので、もし興味があればSQLの勉強をしてみると良いだろう。

 「けど、このSQLってどこに打ち込めばいいの……?」と不安なアナタのために、次ページで操作ソフトを紹介しよう。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]