logo

DBMS における DDL と DML の違い

DDL は、データ構造を定義するために使用されるデータ定義言語です。たとえば、テーブルの作成と変更は SQL の命令です。 DML は、データ自体を操作するために使用されるデータ操作言語です。たとえば、挿入、更新、削除は SQL の命令です。

データ定義言語

  • DDL は、テーブル、ビュー、インデックス、制約を含むデータベースの構造を指定するために使用されます。
  • DDL コマンドには、CREATE、ALTER、DROP、RENAME、および TRUNCATE の種類があります。
  • DDL ステートメントはデータベースのスキーマのみを変更します。データベース内のデータには直接影響しません。
  • DDL 宣言は元に戻すことができず、元に戻すのは困難です。

データ操作言語

  • データベースへのデータの挿入、更新、削除、取得はすべて DML を使用して実行できます。
  • DML コマンドには、SELECT、INSERT、UPDATE、DELETE、MERGE の種類があります。
  • DML ステートメントは、データベースのデータに直接影響を与えます。
  • エラーが発生した場合、DML ステートメントの可逆性によりデータを回復できます。

DDLとDMLの違い

DDL DML
の略です データ定義言語 の略です データ操作言語
作成するために使用されます データベーススキーマ いくつかの制約を定義するためにも使用できます。 データの追加、取得、更新に使用されます。
基本的にはテーブルの列 (属性) を定義します。 テーブルの行を追加または更新します。これらの行はタプルと呼ばれます。
それ以上の分類はありません。 さらに分類すると、 手続き型と非手続き型 DML。
DDL に存在する基本コマンドは、CREATE、DROP、RENAME、ALTER などです。 DML に存在する BASIC コマンドは次のとおりです。 アップデート 入れる マージ
DDLは使用しません WHERE句 その声明の中で。 DML ではステートメント内で WHERE 句が使用されます。
DDL はデータベースの構造を定義するために使用されます。 DML は、データベース内のデータを操作するために使用されます。
DDL は、テーブル、インデックス、ビュー、制約などのデータベース オブジェクトを作成および変更するために使用されます。 DML は、これらのデータベース オブジェクト内のデータに対する操作を実行するために使用されます。
DDL ステートメントは通常、DML ステートメントよりも実行頻度が低くなります。 DML ステートメントは、データの操作やクエリを行うために頻繁に実行されます。
DDL ステートメントは通常、データベース管理者によって実行されます。 DML ステートメントは通常、アプリケーション開発者またはエンドユーザーによって実行されます。
DDL ステートメントは、データを直接操作するためには使用されません。 DML ステートメントは、データを直接操作するために使用されます。
データベースの内容は DDL コマンドによって変更されません。 DML コマンドはデータベースの内容を変更します。
DDL コマンドの例: CREATE TABLE、ALTER TABLE、DROP TABLE、TRUNCATE TABLE、および RENAME TABLE。 DML コマンドの例: SELECT、INSERT、UPDATE、DELETE、MERGE。

結論

データベース構造は、永続的な変更を即座にコミットする CREATE や ALTER などの DDL (データ定義言語) コマンドを使用して形成されます。一方、DML (データ操作言語) を使用して SELECT や UPDATE などの操作を通じてデータを処理する場合は、明示的なトランザクション制御が必要です。それぞれがデータベース管理システムで重要な機能を果たします。DML はデータを操作し、DDL はデータベースを定義します。