AI資格ドリル
資格を選ぶ↓

用語比較

DDLとDMLの違い

DDL(データ定義言語)は、テーブルなどデータベースの構造そのものを定義・変更するSQLの命令群です。DML(データ操作言語)は、データの検索・追加・更新・削除といったデータそのものの操作を行うSQLの命令群です。どちらもSQLの命令ですが、操作の対象が構造なのか中身のデータなのかで分かれます。

DS検定では、命令の名前を暗記するより先に、その命令が何を変えるのかを読みます。列名やデータ型を指定して表の構造を作る・変えるならDDL、既存の表に対して行を追加・検索・更新・削除するならDMLと、対象を日本語へ戻して判断します。

このページは、CREATE TABLEとINSERTを『どちらもテーブルを作る・操作する命令』とまとめて覚えてしまった人を対象にしています。CREATE TABLEは列名とデータ型などを指定して新しい表の構造を定義するデータ定義操作、INSERTは既存の表へ新しい行を追加するデータ操作という違いを起点に、DDLとDMLを分ける手順を固めます。

この記事の根拠と出典

本文の主要なセクションでは、公式一次資料と照合した内容と編集部の整理を、見出しの下のラベルで区別しています。 試験日、料金、申込条件、試験方式など変動する情報は、公式情報を最終確認してください。 当サイトの一次情報確認日: 2026-07-12。

公式一次資料と照合した内容
DDLとDMLの定義、CREATE TABLE・INSERTの位置付けはDS検定の登録factsと公式一次資料へ照合しています。
編集部が学習用に整理した内容
操作の対象が構造かデータかで選ぶ手順は編集部の学習上の整理です。

DS検定の一次資料

結論

公式一次資料と照合用語の定義は公式一次資料と照合しています。

DDL

テーブルなどデータベースの構造そのものを定義・変更する命令群。CREATE TABLEはその代表例で、列名とデータ型などを指定して新しい表の構造を定義する。

DML

データの検索・追加・更新・削除といったデータそのものの操作を行う命令群。INSERTはその代表例で、既存の表へ新しい行を追加する。

違いを表で確認

比較軸DDLDML
操作の対象テーブルなどデータベースの構造そのものテーブルの中に入っているデータそのもの
代表的な命令CREATE TABLE(列名とデータ型などを指定して新しい表の構造を定義する)INSERT(既存の表へ新しい行を追加する)
何を作る・変えるか表の構造(列や型)を定義・変更する表の中身の行を検索・追加・更新・削除する
設問で先に読む語構造の定義、変更、列、データ型検索、追加、更新、削除、行

公式一次資料と照合DS検定の一次資料で確認(一次情報確認日: 2026-07-12)一次資料の一覧を見る →

どこで迷っているかを切り分ける

01

DDLとDMLを『どちらもテーブル操作』とまとめて覚える初学者

CREATE TABLEは列名とデータ型などを指定して新しい表の構造を定義するデータ定義操作、INSERTは既存の表へ新しい行を追加するデータ操作です。どちらもテーブルに関わる命令ですが、構造を作るのか、中身のデータを追加するのかで対象が異なります。

02

命令名だけで丸暗記しようとする人

命令名を語呂合わせで覚えるより先に、『テーブルという入れ物の形を変える命令か、その入れ物に入っているデータを操作する命令か』を確認してください。CREATE TABLEは前者、INSERTは後者に当たります。

03

検索・更新・削除も同じ理屈で判断したい再受験者

DMLは、データの検索・追加・更新・削除といったデータそのものの操作を行う命令群として整理されます。INSERT以外の命令が問われた場合も、テーブルの構造を変えるのか、中身のデータを操作するのかという同じ基準で確認してください。

具体例で使い分ける

編集部の整理

1

表の構造を新しく定義する

新しい表を作るために、列名とそれぞれのデータ型を指定して構造を定義する場面です。

  • 操作の対象は、まだ存在しない表の構造そのものです。
  • 列名とデータ型など、表の形を決める情報を指定しています。
  • 既存の表に対してデータを追加・検索する操作ではありません。

結論: 表の構造を定義する操作なので、DDLに分類されるCREATE TABLEの説明です。

2

既存の表へ新しい行を追加する

既に構造が定義された表に対して、新しい行のデータを追加する場面です。

  • 操作の対象は、表の構造ではなく、表の中に入る行のデータです。
  • 表そのものはすでに存在しており、その中身へ新しい行を加えています。
  • 列名やデータ型を指定して構造を作る操作ではありません。

結論: 既存の表へデータを追加する操作なので、DMLに分類されるINSERTの説明です。

3

格納済みのデータを検索・更新・削除する

表の構造はそのままに、格納されているデータを検索したり、内容を更新・削除したりする場面です。

  • 操作の対象は表の構造ではなく、格納されているデータそのものです。
  • データの検索・追加・更新・削除は、DMLがまとめて担う操作として整理されます。
  • 列やデータ型を新しく定義・変更する操作ではありません。

結論: データそのものを検索・更新・削除する操作なので、DMLとして整理します。

問題文から答えを選ぶ手順

編集部の整理操作の対象が構造かデータかで選ぶ手順は編集部の学習上の整理です。

  1. 1

    操作の対象を確認する

    表の構造(列やデータ型)を対象にしているか、表の中のデータを対象にしているかを確認します。

  2. 2

    代表例と照らす

    列名とデータ型などを指定して新しい表の構造を定義するならCREATE TABLE(DDL)、既存の表へ新しい行を追加するならINSERT(DML)です。

  3. 3

    検索・更新・削除も同じ基準で見る

    データの検索・追加・更新・削除といった、データそのものを操作する命令はDMLとして整理します。表の構造を定義・変更する命令とは対象が異なります。

  4. 4

    テーブルという語だけで即断しない

    『テーブル』という語が出てもDDLとは限りません。テーブルの構造を作る・変える話ならDDL、テーブルの中身のデータを操作する話ならDMLです。

試験での見分け方

編集部の整理

  • 1列名やデータ型などを指定して表の構造を定義・変更するならDDL。
  • 2検索・追加・更新・削除といったデータそのものを操作するならDML。
  • 3CREATE TABLEは表の構造を定義するのでDDL。
  • 4INSERTは既存の表へ行を追加するのでDML。
  • 5『テーブル』という語だけで判断せず、構造を扱うのかデータを扱うのかを確認する。

誤答しやすい選択肢

DDLとDMLを同じ『テーブル操作』として覚える

修正: DDLは表の構造、DMLは表の中身のデータという、操作の対象の違いを確認します。

CREATE TABLEをデータの追加操作だと思う

修正: CREATE TABLEは列名とデータ型などを指定して新しい表の構造を定義するデータ定義操作です。データの追加はINSERTの役割です。

INSERTを表の構造を作る操作だと思う

修正: INSERTは既存の表へ新しい行を追加するデータ操作です。表の構造はすでに定義されている前提です。

検索・更新・削除も構造の変更だと混同する

修正: 検索・追加・更新・削除はいずれもデータそのものの操作としてDMLに整理されます。表の構造を定義・変更する操作とは区別します。

確認問題

Q1列名とデータ型などを指定して新しい表の構造を定義する操作は?

答え: CREATE TABLE(DDL)

操作の対象が表の構造そのものである点が手掛かりです。データの検索・追加・更新・削除を行うDMLとは対象が異なります。

Q2既存の表へ新しい行を追加する操作は?

答え: INSERT(DML)

操作の対象が表の中のデータである点が手掛かりです。表の構造を定義・変更するDDLとは対象が異なります。

Q3データの検索・追加・更新・削除といったデータそのものの操作を行う命令群の名称は?

答え: DML

テーブルの構造を定義・変更するDDLとは、操作の対象が異なります。

到達チェック

  • DDLを『表の構造を定義・変更する命令群』として説明できる
  • DMLを『データの検索・追加・更新・削除を行う命令群』として説明できる
  • CREATE TABLEをDDLの代表例として説明できる
  • INSERTをDMLの代表例として説明できる
  • 『テーブル』という語だけで判断せず、構造かデータかを確認できる

よくある質問

QDDLとDMLはどちらもSQLの命令?

A

はい。どちらもSQLの命令ですが、DDLは表の構造そのものを定義・変更し、DMLはデータの検索・追加・更新・削除を行うという対象の違いがあります。

QCREATE TABLEとINSERTはどう違う?

A

CREATE TABLEは列名とデータ型などを指定して新しい表の構造を定義するデータ定義操作、INSERTは既存の表へ新しい行を追加するデータ操作です。

Q検索・更新・削除もDML?

A

はい。データの検索・追加・更新・削除といったデータそのものの操作を行う命令群としてDMLに整理されます。

Q試験ではどちらを先に確認する?

A

命令が変える対象が表の構造なのか、表の中のデータなのかを先に確認します。構造ならDDL、データならDMLです。

執筆: ミナト編集部運営者情報を見る