主な違い:データ定義言語の略であるDDLは、主にデータベース内のスキーマを定義するために使用されます。 データベース内のエントリ間の関係も定義します。 データ操作言語の略であるDMLもデータベース言語です。 それにもかかわらず、DDLとは異なり、DMLは単にデータを指定するのではなく、データを挿入、削除、復活、および変更するために利用できます。
DDLはData Definition Languageの略で、主にデータベース内のスキーマを定義するために使用されます。 データベース内のエントリ間の関係も定義します。 DDLを使用して特定のセキュリティ制約を定義することもできます。 前述のように、DDLは主にデータベースオブジェクトの作成、変更、破棄に使用されるSQLコマンドを利用します。
実行されると、DDLコマンドは「システムカタログ」に格納されている新しいテーブルを作成します。 このカタログは、データディクショナリまたはデータディレクトリとも呼ばれます。 ただし、変更はディレクトリ内のデータとそれらの相互関係のみを定義できます。 一方、DMLはデータ自体を変更するために使用できます。
データ操作言語の略であるDMLもデータベース言語です。 DDLのように、それは主にデータベース管理の中の役割です。 それにもかかわらず、DDLとは異なり、DMLは単にデータを指定するのではなく、データを挿入、削除、復活、および変更するために利用できます。
DMLはデータの検索にもよく使用されます。 検索構造に基づいて、手続き型DMLと非手続き型DMLの2つのセグメントに分割できます。 手続き型DMLは、どのデータを取得する必要があるか、および必要なデータを取得する方法を指定します。 非手続き型DMLは、どのデータを取得する必要があるかを指定しますが、必要なデータを取得する方法は指定しません。
表形式でのDDLとDMLの比較
DDL | DML | |
完全形 | データ定義言語 | データ操作言語 |
の種類 | データベース言語 | データベース言語 |
のサブセット | 構造化照会言語(SQL) | 構造化照会言語(SQL) |
用途 | データ構造、特にデータベーススキーマを定義するために使用されます。 | データ構造のデータ操作に使用 |
タイプ | ||
に関連する | データを定義する | データの挿入、削除、復活、および修正 |
コマンド | CREATE - データベースにオブジェクトを作成します ALTER - データベースの構造を変更します DROP - データベースからオブジェクトを削除します TRUNCATE - テーブルからすべてのレコードを削除します。レコードに割り当てられているすべてのスペースも削除されます。 COMMENT - データ辞書にコメントを追加する RENAME - オブジェクトの名前を変更する | SELECT - データベースからデータを取得する INSERT - テーブルにデータを挿入 UPDATE - テーブル内の既存のデータを更新します DELETE - テーブルからすべてのレコードを削除します。レコード用のスペースは残ります。 MERGE - UPSERT操作(挿入または更新) CALL - PL / SQLまたはJavaサブプログラムを呼び出します。 EXPLAIN PLAN - データへのアクセスパスを説明する LOCK TABLE - 並行性の制御 |
画像提供:sqa.org.uk、sqlinstructor.com