矢沢久雄

SQLとは?

 SQLデータベース管理システムが提供するデータベース言語の一種です。SQLはISO(国際標準化機構)やJIS(日本工業規格)で規格化されています。つまり,SQLはデータベースの標準言語なのです。そのため,市販のデータベース管理システムのほとんどが,SQLを採用しています。

 SQLはStructured Query Language(構造化照会言語)が語源です。その語源が示すとおり,人間とコンピュータが対話するための言語です。ただし,BASICやC言語などのプログラミング言語とは,目的が異なります。SQLは,データベースのスキーマの定義と,データベースを操作する命令を記述するために特化した言語です。

 SQLで記述された命令をSQL文と呼びます。SQL文を解釈して実行するのは,データベース管理システムが提供するデータベース・エンジンです。データベースの利用者は,何らかのアプリケーションを使って,データベース・エンジンにSQL文を送り,データベースの定義や操作を行います。定義や操作の結果が,データベース・エンジンからアプリケーションに返されることもあります。

 例えば,この講座の第2回で紹介した電話帳データベースから,「井上太郎」の電話番号を取得するSQL文は,図1のようになります。このSQL文を実行した結果として,データベース・エンジンからアプリケーションに「03-1111-2222」という電話番号が返されます。

図1●SQLでデータベースから電話番号データを取得する

 図1を見ると分かるように,SQL文は英語に似ているので,構文の説明をしなくても,何となく意味が分かるでしょう。図1のSQL文は,「個人情報テーブルから(FROM 個人情報),氏名が井上太郎であるレコードの(WHERE 氏名='井上太郎'),電話番号フィールドを取得せよ(SELECT 電話番号)」という意味です。今回は基本的なSQL文をいくつか紹介します。何となく,意味がわかればOKです!

●テーブルの定義

 スキーマの定義には,スキーマ管理者の設定,テーブルの定義,ビューの定義,及び権限の定義があり,それぞれSQL文を使います。ここではテーブルを定義するSQL文だけを示します。図2は,個人情報テーブルを定義するSQL文です。INTは整数,NCHARは全角文字,CHARは半角文字を表わし,カッコ内は桁(けた)数を表わしています。

図2●個人情報テーブルを定義する

●データの登録

 図3は,個人情報テーブルにレコードを登録するSQL文です。INTOの後ろにテーブル名を指定し,VALUESの後ろにカッコで囲んでフィールドの値を列挙します。

図3●テーブルにレコードを登録するSQL文

 次回は,データの読み出し/更新/削除,SQL文の実行の仕組みを解説します。