DDLとDMLの違いとは?分かりやすく解説!

この記事には、アフィリエイト広告を利用しています。

スポンサーリンク


DDLとDMLの主な違いは、DDLがデータベースの構造を変更するのに役立ち、DMLはデータベース内のデータを管理するのに役立つということです。

データベースとは、関連するデータの集合体です。

DBMS (データベース管理システム) は、データベースへのアクセスや管理を容易にするためのソフトウェアです。

DBMSは、複数のユーザーがデータにアクセスすることを可能にし、データに対するセキュリティを提供します

リレーショナルDBMSは、データを表形式で保存する。

表は行と列で構成されている。

行は各レコードを表し、DMLカラムは属性を表す。

SQL (Structured Query Language) はリレーショナルデータベースでデータを保存、管理、検索するための言語です。

ユーザーはSQLコマンドを使用してデータベースに対して様々な操作を行うことができます。

SQLコマンドには、DDLとDMLの2種類があります。

スポンサーリンク

DDLとは

DDL は Data Definition Language (データ定義言語) の略です。

DDLコマンドは、データベースの構造や他のデータベースオブジェクトを作成するのに役立ちます。

このコマンドは自動コミットされます。

したがって、変更はデータベースに永久に保存されます。

DDLコマンドには、create、drop、alterなどがあります。

createコマンドは、新しいデータベースとテーブルを作成するのに役立ちます。

drop コマンドはデータベースやテーブルを削除するのに役立ち、alter コマンドはテーブルのような既存のデータベースオブジェクトを変更するのに役立ちます。

以上が一般的なDDLコマンドです。

DMLとは

DMLとは、Data Manipulation Languageの略で、データ操作言語のことです。

DMLコマンドは、データベースに保存されているデータを管理するのに役立ちます。

しかし、DMLコマンドは自動コミットされません。

したがって、変更は永続的ではありません。

そのため、操作をロールバックすることが可能です

DMLコマンドには、insert、update、delete、selectなどがあります。

insertコマンドは、テーブルに新しいレコードまたは行を格納するのに役立ち、updateコマンドは、テーブル内の既存のレコードを変更するのに役立ちます。

一方、deleteコマンドはテーブルから特定のレコードまたはレコードのセットを削除することができ、selectコマンドは1つまたは複数のテーブルから特定のレコードを取得することができます。

DDLとDMLの他に、DCLというコマンドもあります。

DCLは、データベースにアクセスできるユーザーを制御することができる。

DCLコマンドには、GrantとRevokeがあります。

グラント(Grant)はユーザーに権限を与え、リボーク(Revoke)はそのユーザーから与えられた権限を取り消す。

DDLとDMLの違い

定義

DDLは、データベーススキーマを定義するためのSQLコマンドの一種である

これに対し、DMLはリレーショナル・データベースでデータを取得・管理するためのSQLコマンドの一種である

これらの定義は、DDLとDMLの主な違いを説明しています。

ロングフォーム

DDLはData Definition Language、DMLはData Manipulation Languageの略です。

コマンド

create, drop, alter は DDL コマンド、insert, update, delete, select は DML コマンドです。

効果

DDLとDMLのもう一つの違いは、DDLコマンドはデータベース全体またはテーブルに影響を与えるが、DMLコマンドはテーブル内の1つまたは複数のレコードに影響を与えることである

コミット

DDLコマンドを含むSQL文は、ロールバックすることができません。

一方、DMLコマンドのSQL文はロールバックすることができます。

従って、DDLとDMLの違いがもう一つ追加されます。

結論

SQLは、リレーショナルデータベースのデータに対して様々な操作を行うための言語です。

DDL と DML は、SQL コマンドの 2 つのタイプです。

DDL と DML の主な違いは、DDL はデータベースの構造を変更するのに役立ち、DML はデータベース内のデータを管理するのに役立つという点です。

タイトルとURLをコピーしました