矢沢久雄
●データの読み出し
個人情報テーブルから,個人IDが1234であるレコードの氏名と電話番号を読み出すSQL文を以下に示します。SELECTの後ろに読み出すフィールドをカンマで区切って指定し,FROMの後ろにテーブル名を指定します。WHEREの後ろには,条件を指定します。条件に一致するレコードが複数読み出されることもあります。
SELECT 氏名, 電話番号 FROM 個人情報 WHERE 個人ID = 1234 |
●データの更新
個人情報テーブルで,個人IDが1234であるレコードの電話番号を03-8888-9999に更新するSQL文を以下に示します。UPDATEの後ろにテーブル名を指定し,WHEREの後ろに更新の対象となるレコードの条件を指定します。更新するフィールドは,SETの後ろに「フィールド名 = 新しい値」という書式で指定します。
UPDATE 個人情報 SET 電話番号 = '03-8888-9999' WHERE 個人ID = 1234 |
●データの削除
個人情報テーブルから,個人IDが1234であるレコードを削除するSQL文を以下に示します。FROMの後ろにテーブル名,WHEREの後ろに削除の対象となるレコードの条件を指定します。
DELETE FROM 個人情報 WHERE 個人ID = 1234 |
●SQL文の実行
SQL文を実行するためには,アプリケーションからデータベース・エンジンにSQL文を送る,と先ほど説明しました。これは,具体的には,データベース・エンジンが提供する関数を呼び出すことで実現します(図1)。関数のパラメータにSQL文を与えて,それをデータベース・エンジンに送るのです。
![]() |
データベース・エンジンの機能が,オブジェクト(データ・オブジェクト)として提供されている場合が多くあります。オブジェクトとは,関数と変数の集合体です。例えば,Jetデータベース・エンジンは,DAO(Data Access Objects)と呼ばれるデータ・オブジェクトを提供しています。DAOが持つ関数でSQL文を実行したら,その結果がDAOが持つ変数に返されます。
●ストアド・プロシジャ
データベースを操作する便利な方法として,ストアド・プロシジャを紹介しておきましょう。ストアド・プロシジャとは,データベースの中に登録できる小さなプログラムです。
データベースの利用者が,あらかじめストアド・プロシジャを作成し,それをデータベースに登録ておきます。ストアド・プロシジャを使えば,SQLでできる操作に,条件分岐やくり返しなどのプログラム的な機能を追加できます。すなわち,データベースの操作を効率的にできるというわけです。
ストアドプロシージャの構文は,データベース管理システムの種類によって異なります。以下のリストは,Microsoft SQL Serverのサンプル・データベースのストアド・プロシジャです。SQL文と条件分岐のIF文が組み合わされていることが分かるでしょう。
CREATE PROCEDURE SalesByCategory |