logo

DDLとDMLの違い

データベースは関連するレコードのリストであり、データベース管理システムはこれらのデータベース (DBMS) を管理する最も一般的な方法です。の SQL (構造化クエリ言語) コマンドはデータベース システムと対話するために必要です。これらの SQL コマンドを使用して、テーブルの構築、テーブルへのデータの挿入、テーブルの削除または削除、テーブルの変更、およびユーザーの権限の設定を行うことができます。 SQL コマンドは、DDL、DQL、DCL、DML に分類できます。

この記事では、DDL 言語と DML 言語の完全な概要について説明します。 DDL コマンドと DML コマンドの違いは、面接の質問で最も一般的な部分です。 主な違いは、DDL コマンドはデータベース スキーマの作成に使用され、DML コマンドはテーブルの既存データの変更に使用されることです。 。比較する前に、まず次のことを知ってください。 SQLコマンド

DDL と DML の比較

DDLコマンドとは何ですか?

DDL はデータ定義言語の略です。名前が示すように、DDL コマンドはデータベースまたはスキーマの構造を定義するのに役立ちます。 DDL ステートメントを実行すると、すぐに有効になります。このコマンドを使用してデータベースに加えられた変更は、コマンドが自動コミットされるため、永続的に保存されます。次のコマンドは DDL 言語に分類されます。

    作成する: 新しいデータベースとそのオブジェクト (テーブル、ビュー、関数、ストアド プロシージャ、トリガーなど) を作成するために使用されます。落とす: データベースとそのオブジェクト (構造を含む) をサーバーから完全に削除するために使用されます。変更: 既存の属性の特性を変更したり、新しい属性を追加したりして、データベース構造を更新するために使用されます。切り詰める: テーブルからすべてのデータ (構造やサーバー上に割り当てられた領域も含む) を完全に削除するために使用されます。名前を変更する: このコマンドは、データベース内のコンテンツの名前を変更します。

なぜ DDL コマンドを使用するのでしょうか?

DDL コマンドを使用する理由は次のとおりです。

  • これにより、共有データをデータベースに保存できるようになります。
  • データ独立性機能により整合性が向上しました。
  • これにより、複数のユーザーが同じデータベースで作業できるようになります。
  • セキュリティ効率の高いデータ アクセスが向上しました。

DMLコマンドとは何ですか?

データ操作言語の略です。 DML コマンドは、データベースの既存のレコードの操作を処理します。データベース内で発生するすべての変更を担当します。このコマンドを使用してデータベースに加えられた変更は、コマンドが自動コミットされないため、永続的に保存できません。したがって、変更はロールバックできます。次のコマンドは DML 言語に分類されます。

    選択する: このコマンドは、テーブルから情報を抽出するために使用されます。入れる: これは、テーブルの行にデータを追加できる SQL クエリです。アップデート: このコマンドは、テーブルの内容を変更または修正するために使用されます。消去: このコマンドは、データベース テーブルからレコードを個別またはグループで削除するために使用されます。

DML コマンドを使用する理由

DML コマンドを使用する理由は次のとおりです。

  • これは、ユーザーがデータベース テーブル内のデータを変更するのに役立ちます。
  • これは、ユーザーが必要なデータを指定するのに役立ちます。
  • これにより、人間によるシステムとの対話が容易になります。

DDL コマンドと DML コマンドの主な違い

次の点では、DDL コマンドと DML コマンドの主な違いについて説明します。

  • データ定義言語 (DDL) ステートメントは、データベースまたはスキーマの構造を記述します。一方、データ操作言語 (DML) ステートメントを使用すると、データベースにすでに存在するデータを変更できます。
  • データベースまたはスキーマの作成には DDL コマンドを使用しますが、データベースの設定と操作には DML コマンドを使用します。
  • DDL コマンドはデータベースまたはテーブル全体に影響を与えることができますが、DML ステートメントはクエリで指定された条件に基づいて 1 つまたは複数の行にのみ影響します。
  • DDL コマンドは自動コミットされるため、変更は永続的であり、元に戻すことはできません。一方、DML ステートメントは自動コミットされません。つまり、変更は永続的なものではなく、元に戻すことができます。
  • DML は命令型の手続き型メソッドであるのに対し、DDL は宣言型メソッドです。
  • DML ステートメントのデータは WHERE 句でフィルターできますが、DDL ステートメントのレコードは WHERE 句でフィルターできません。

DDL と DML の比較表

次の比較表は、それらの主な違いを簡単に説明しています。

比較基準 DDL DML
基本 これは、データベースの構造またはスキーマを定義し、データがデータベースにどのように保存されるかを扱うのに役立ちます。 これにより、データベースに保存されているデータの操作、つまり取得、更新、削除が可能になります。
完全形 DDL の完全な形式はデータ定義言語です。 DML の完全な形式はデータ操作言語です。
分類 DDL コマンドにはそれ以上の分類はありません。 DML コマンドは、手続き型 DML と非手続き型 (宣言型) DML に分類されます。
コマンドの用途 DDL 言語で一般的に使用されるコマンドは次のとおりです。
  • 作成する
  • 落とす
  • 変更
  • 切り詰める
  • 名前を変更する
DML 言語で一般的に使用されるコマンドは次のとおりです。
  • 入れる
  • アップデート
  • 消去
  • 選択する
自動コミット DDL コマンドは自動コミットされるため、データベース内で発生した変更は永続的になります。 DML コマンドは自動コミットされないため、データベースの変更は永続的ではありません。
ロールバック DDL コマンドにより、変更が永続的に行われます。したがって、これらのステートメントをロールバックすることはできません。 DML コマンドでは、変更が永続的に行われるわけではありません。したがって、これらのステートメントではロールバックが可能です。
WHERE句 ここではレコードのフィルタリングができないため、DDL コマンドでは WHERE 句を使用できません。 DML ステートメントでは、データベース内のデータを操作するときに WHERE 句を使用できます。
効果 DDL コマンドはデータベースまたはテーブル全体に影響します。 DML コマンドは、指定された条件に基づいて 1 つまたは複数のレコードに影響を与えます。

結論

この記事では、DDL コマンドと DML コマンドを比較しました。ここで、データベースを形成するには、データベースの形成とデータベースへのアクセスに両方の言語が必要であると結論付けました。大規模なデータベースを扱う場合は、データベース全体またはテーブル全体が削除される可能性があるため、条件について適切に言及していることを確認してください。