データベースは関連するレコードのリストであり、データベース管理システムはこれらのデータベース (DBMS) を管理する最も一般的な方法です。の SQL (構造化クエリ言語) コマンドはデータベース システムと対話するために必要です。これらの SQL コマンドを使用して、テーブルの構築、テーブルへのデータの挿入、テーブルの削除または削除、テーブルの変更、およびユーザーの権限の設定を行うことができます。 SQL コマンドは、DDL、DQL、DCL、DML に分類できます。
この記事では、DDL 言語と DML 言語の完全な概要について説明します。 DDL コマンドと DML コマンドの違いは、面接の質問で最も一般的な部分です。 主な違いは、DDL コマンドはデータベース スキーマの作成に使用され、DML コマンドはテーブルの既存データの変更に使用されることです。 。比較する前に、まず次のことを知ってください。 SQLコマンド 。
DDLコマンドとは何ですか?
DDL はデータ定義言語の略です。名前が示すように、DDL コマンドはデータベースまたはスキーマの構造を定義するのに役立ちます。 DDL ステートメントを実行すると、すぐに有効になります。このコマンドを使用してデータベースに加えられた変更は、コマンドが自動コミットされるため、永続的に保存されます。次のコマンドは DDL 言語に分類されます。
なぜ DDL コマンドを使用するのでしょうか?
DDL コマンドを使用する理由は次のとおりです。
- これにより、共有データをデータベースに保存できるようになります。
- データ独立性機能により整合性が向上しました。
- これにより、複数のユーザーが同じデータベースで作業できるようになります。
- セキュリティ効率の高いデータ アクセスが向上しました。
DMLコマンドとは何ですか?
データ操作言語の略です。 DML コマンドは、データベースの既存のレコードの操作を処理します。データベース内で発生するすべての変更を担当します。このコマンドを使用してデータベースに加えられた変更は、コマンドが自動コミットされないため、永続的に保存できません。したがって、変更はロールバックできます。次のコマンドは DML 言語に分類されます。
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 コマンドを比較しました。ここで、データベースを形成するには、データベースの形成とデータベースへのアクセスに両方の言語が必要であると結論付けました。大規模なデータベースを扱う場合は、データベース全体またはテーブル全体が削除される可能性があるため、条件について適切に言及していることを確認してください。