Skip to the content.

最終更新日:2026年7月14日

まず結論

DDLとDMLの違いは、操作する対象で判断します。

分類 何を操作する? 代表的なSQL
DDL テーブルなどの構造 CREATEALTERDROP
DML テーブル内のデータ SELECTINSERTUPDATEDELETE

DS検定では、次のように切り分けると判断しやすいです。

入れ物を作る・変える → DDL
中のデータを扱う → DML


直感的な説明

データベースを、Excelの表に置き換えて考えてみます。

最初に必要なのは、表の入れ物を作ることです。

  • 表を新しく作る
  • 列を追加する
  • 表そのものを削除する

このような表の構造を扱う操作がDDLです。

入れ物を作った後は、中のデータを扱います。

  • データを検索する
  • 行を追加する
  • 値を書き換える
  • 行を削除する

このような表の中身を扱う操作がDMLです。


定義・仕組み

SQL(Structured Query Language)は、リレーショナルデータベースを操作するための言語です。

SQLは役割によっていくつかに分類され、その代表がDDLとDMLです。

DDL(Data Definition Language)

DDLは、データベースやテーブルの構造を定義するSQLです。

SQL 主な役割
CREATE テーブルやデータベースを作成する
ALTER テーブル構造を変更する
DROP テーブルやデータベースを削除する

例として、社員テーブルを作るSQLを見てみます。

CREATE TABLE employees (
  id INT,
  name VARCHAR(50)
);

これは、employeesというテーブルの構造を作るため、DDLです。

DML(Data Manipulation Language)

DMLは、テーブルに格納されたデータを操作するSQLです。

SQL 主な役割
SELECT データを検索・取得する
INSERT データを追加する
UPDATE データを更新する
DELETE データを削除する

例として、社員テーブルからデータを取得するSQLを見てみます。

SELECT *
FROM employees;

これは、テーブルの構造ではなく、中にあるデータを取得するため、DMLとして扱います。

一覧で比較

操作 SQL 分類
テーブルを作る CREATE DDL
列を追加する ALTER DDL
テーブルを削除する DROP DDL
データを検索する SELECT DML
データを追加する INSERT DML
データを書き換える UPDATE DML
データを削除する DELETE DML

どんな場面で使う?

システムを作るとき

開発の初期には、テーブルや列の構造を決める必要があります。

このときは、次のようなDDLを使います。

CREATE TABLE sales (
  sale_id INT,
  amount INT
);

データを分析するとき

データ分析では、テーブル内のデータを取得・集計するため、DMLをよく使います。

SELECT customer_id, SUM(amount)
FROM sales
GROUP BY customer_id;

WHEREJOINGROUP BYなどを含んでいても、中心となる操作がSELECTであれば、データを取得するDMLとして考えます。


よくある誤解・混同

誤解1:SELECTは構造を指定するのでDDLである

SELECTでは取得する列を指定しますが、テーブル構造そのものを変更しているわけではありません。

既存データを検索・取得する操作なので、DS検定ではDMLとして判断します。

誤解2:DELETEとDROPは同じ削除操作である

どちらも「削除」ですが、削除する対象が違います。

SQL 削除するもの 分類
DELETE テーブル内の行 DML
DROP テーブルそのもの DDL

迷ったら、中身を消すのか、入れ物ごと消すのかを確認します。

誤解3:JOINやWHEREはDDLである

JOINWHEREは、データを絞り込んだり結合したりするために使います。

SELECT *
FROM sales
JOIN customers
  ON sales.customer_id = customers.customer_id
WHERE sales.amount >= 10000;

このSQLはデータを取得しているため、DMLの範囲です。

誤解4:SELECTは必ずDMLとだけ呼ばれる

分類体系によっては、SELECTをDQL(Data Query Language)として分ける場合もあります。

ただし、DS検定の基本的な切り分けでは、SELECTをデータ操作側として扱う問題が多いため、問題文や選択肢の分類方法を確認することが大切です。


確認問題(DS検定対策)

次のうち、DDLに分類されるSQLはどれか。

  • ア. SELECT
  • イ. INSERT
  • ウ. UPDATE
  • エ. ALTER
▶ クリックして答えと解説を見る(ここを開く)

正解:エ

  • SELECT:データを取得するDML
  • INSERT:データを追加するDML
  • UPDATE:データを更新するDML
  • ALTER:テーブル構造を変更するDDL

判断ポイントは、テーブルの構造を変える操作かどうかです。


まとめ(試験直前用)

  • DDLは、データベースやテーブルの構造を定義するSQL
  • DMLは、テーブル内のデータを操作するSQL
  • CREATEALTERDROPはDDL
  • SELECTINSERTUPDATEDELETEはDMLとして整理する
  • DELETEは行を削除し、DROPはテーブルそのものを削除する
  • 迷ったら、入れ物か、中身かで切り分ける

🔗 関連記事



© 2024-2026 stemtazoo. All rights reserved.