スタートページ>
Web教材一覧>
データベース
データベース言語(SQL)の体系 DDL/DML/DCL
学習のポイント
データベース管理システムの体系-データベース言語の種類-をSQLをベースに理解します。
キーワード
データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)
SQLの命令(文)は、次の3つに大別できます。
- データ定義言語(DDL:Data Definition Language)
- データベースのデータ構造を定義する言語
CREATE(表の創成、定義)、DROP(表の削除)など
- データ操作言語(DML:Data Manipulation Language)
- 既存表からのデータ検索・追加・更新・削除を行うための言語
SELECT(検索)、INSERT(追加)、UPDATE(更新)、DELETE(削除)など
- データ制御言語(DCL:Data Control Language)
- データベースへのアクセス制御に関する言語
GRANT(アクセス権付与)やREVOKE(権限破棄)など
データ定義言語
- CREATE文:新表の創成・定義
-
-
基本形 CREATE TABLE 新表名
列名1 データ型, 列名2 データ型. …;
- DROP文:表の削除
-
基本形 DROP TABLE 表名;
- ALTER文:列の追加・削除
-
基本形 ALETR TABLE 表名 ADD 新列名 データ型;
制約
CREATE TABLEにおいて、制約を記述することにより、誤った操作を防止することができます。以下の主キー制約と外部キー制約をあわせてキー制約といいます。CHECKとASSERTIONは、一般の項目(列)に関する制約です。
- 主キー制約(PRIMARY KEY)と一意性制約
- 商品表において、商品が主キーであり、重複がないことを定義します。
CREATE TABLE 商品表
(
商品, 仕入先, 単価, ・・・
PRIMARY KEY(商品)
);
(一意性制約は、UNIQUEで定義することもできます。このときはNULLが許可されます。)
- 外部キー制約(FOREIGN KEY)と参照制約
- 売上表において、商品が外部キーであり、その商品は商品表に存在するものに限る(これを参照制約といいます)ことを定義します。
CREATE TABLE 売上表
(
商品, 個数, ・・・
FOREIGN KEY(商品) REFFERENCES 商品表(商品)
);
- CHECKと検査制約
- 売上表で個数は整数で10個以下でなければならないというような定義です。
CREATE TABLE 売上表
(
商品, 個数 INTEGER CHECK(個数<=10), ・・・
);
- ASSERTIONと表明
- CHECKと同様な入力値チェックですが、CREATE TABLE文に記述するのではなく、独立した文として定義します。そのことを表明といいます。
CREATE ASSERTION チェック名 CHECK(チェックの内容。SELECT文のような形式);
データ操作言語
- SELECT文:既存の表からの検索
-
基本形 SELECT 列名1,列名2,・・・
FROM 表1,表2,・・・
WHERE 条件1 AND 条件2 …;
INTO 新表名
参照:「SELECT文の演習」
- INSERT文:新行の挿入
-
基本形 INSERT INTO 表名
VALUES (列名1の値, 列名2の値, …);
- DELETE文:条件に合致した行を削除
-
基本形 DELETE FROM 表名
WHERE …;
- UPDATE文:指定した列の値の変更
-
基本形 UPDATE 表名
SET 列名1=値の式1、列名1=値の式1、・・・
WHERE …;
データ制御言語
- GRANT文:アクセス権限の付与
-
基本形 GRANT 権限名 ON 表名
TO { ユーザ名 | PUBLIC };
(PUBLIC を指定すると全ユーザが対象)
- REVOKE文:アクセス権限の取消
-
基本形 REVOKE 権限名 ON 表名
FROM { ユーザ名 | PUBLIC };
本シリーズの目次へ