矢沢久雄 グレープシティ アドバイザリースタッフ
今回のキーワード
・SQLの構文
・SELECT文
今回は,SQL(SQL文)の構文を説明します。前回説明したように,SQLは,DBMSに与えるクエリー(問い合わせ命令)を記述するものであり,DBMSの中には,リレーショナル・データベースがある,ということを念頭に置いて読んでください。あらかじめ申し上げておきますが,およそコンピュータの世界で言語と呼ばれているものは,構文がすべて英語に似ています。言語を使って命令を記述するわけですから,命令文の構文になっています。英語の命令文の構文は,“Give me money.”のように「動詞+目的語」となります。これは,SQLでも同様です。
SQLは,DBMSに命令を与えるものですが,DBMSのすべての機能を操作できるわけではありません。SQLにできることは,データベースの作成,データベースの読み書き,及びアクセス権の設定などをDBMSに指示することです。SQLにできないことは,データベースのバックアップやXML形式への変換などのように,DBMSの種類に応じてオプションで提供されている機能です。とはいえ,あらゆるDBMSに共通した,一般的にデータベース操作と呼べるような機能は,SQLで実現できると考えて間違いありません。
SQLの文法で記述するSQL文は,すべて命令文なのですから,「○○せよ」に相当する動詞(命令)が数多く用意されています。これらの命令は,データベース作成,アクセス権の設定などをするDDL(Data Definition Language)と,データベースの読み書きをするDML(Data Management Language)に大別されます。この連載では,DMLを取り上げます。データベースの操作とは,「取得(選択)」,「挿入」,「更新」,「削除」の4つが基本であり,これらを表すSQLの命令は,それぞれSELECT,INSERT,UPDATE,DELETEとなります。
SQLの基本構文
![]() |
図1●SQLの構文は英語の命令文に似ている |
![]() |
図2●MeisiTblテーブル |
SELECT Shimei FROM MeisiTbl; |
SELECTが動詞,Shimeiが目的語,FROM MeisiTblが修飾語です。SQLを英語のつもりで翻訳してみてください。”SELECT Shimei FROM MeisiTbl”=「MeisiTblからShimeiを選択せよ」ですから,本当に英語に似ていることが分かりますね。
このSQL文を実行すると,「日経太郎」,「日経次郎」,「日経花子」というShimeiフィールドの値が読み出されます。SQL文の実行は,何らかのアプリケーションで行われ,読み出されたデータは,アプリケーションの画面に表示されます。データベース・アプリケーションの作成方法は,連載の第5回で説明する予定です。
SQLは,命令の大文字と小文字を区別しません。したがって,SELECTをselectやSelectと記述しても構いません。この連載では,すべて大文字でSQLを記述することにします。
検索条件などとして,SQL文の中に数値や文字列のデータを記述する場合もあります。数値はそのまま記述し,文字列はシングル・クォーテーション(')で囲みます。例えば,123は数値ですが,'123' や '漢字' は文字列とみなされます。
SELECT Shimei FROM MeisiTbl WHERE Nenrei >= 30; |
上の文は,MeisiTblテーブルから,Nenreiが30歳以上の人の氏名を取得するSQL文です。30という数値が使われていることに注目してください。実行結果は,「日経太郎」,「日経次郎」となります。検索条件を指定するWHEREに関しては,連載の第3回で説明します。
◎今回の復習
・SQLの構文は英語の命令文に似ている
・SELECT文はテーブルからフィールドの値を取得する