🥝
RDBMSに与える3種類の命令
DDL、DML、DCLって?
たまに面談で話題に出てくるDMLってなんだろうか。。。
本読んだことあるけど毎回忘れてしまう。DMMなら知ってるけど笑
SQL文の種類みたいだ。
DDL(Data Definition Language)
DDL(Data Definition Language)は、データベースの構造を定義・変更するためのSQLコマンドの一種です。
主なDDLコマンドには以下があります:
- CREATE - データベース、テーブル、ビューなどのオブジェクトを作成
- ALTER - 既存のデータベースオブジェクトの構造を変更
- DROP - データベースオブジェクトを削除
- TRUNCATE - テーブル内のすべてのデータを削除
- RENAME - オブジェクトの名前を変更
DDLは、データベースの「枠組み」を作る際に使用され、DML(Data Manipulation Language)やDCL(Data Control Language)と並んでSQLの重要な要素となっています。
DDLの特徴
- データベースの物理的な構造を定義する
- 自動コミットされる(トランザクション処理の対象外)
- データディクショナリに影響を与える
- スキーマの作成・変更に使用される
DML(Data Manipulation Language)
DML(Data Manipulation Language)は、データベース内のデータを操作するためのSQLコマンドの一種です。主に以下の4つの基本的な操作を行うために使用されます:
- SELECT文:データベースからデータを検索・抽出する
- INSERT文:データベースに新しいデータを挿入する
- UPDATE文:既存のデータを更新する
- DELETE文:データベースから既存のデータを削除する
これらのコマンドを使用することで、データベース内のデータを効率的に管理・操作することができます。
DCL(Data Control Language)
DCL(データ制御言語)は、データに対して行った変更を確定したり消したりします。そのほか、RDBMSのユーザーがデータベースにあるもの(テーブルなど)を操作する権限の設定も行います。DCLに分類される命令は次のとおりです。
- COMMIT :データベースに対して行った変更を確定する
- ROLLBACK :データベースに対して行った変更を取り消す
- GRANT :ユーザーに操作の権限を与える
- REVOKE :ユーザーから操作の権限を奪う
まとめ
普段書いているSQL文には分類があるのを知った。専門的なことを聞かれない限りは聞くことはないが、ベンダーとか大手の会社に行くとよく聞くので覚えておいた方が良さそう。
ミックさんの本が一番わかりやすかったですね。
Discussion