用語比較
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はその代表例で、既存の表へ新しい行を追加する。
違いを表で確認
| 比較軸 | DDL | DML |
|---|---|---|
| 操作の対象 | テーブルなどデータベースの構造そのもの | テーブルの中に入っているデータそのもの |
| 代表的な命令 | CREATE TABLE(列名とデータ型などを指定して新しい表の構造を定義する) | INSERT(既存の表へ新しい行を追加する) |
| 何を作る・変えるか | 表の構造(列や型)を定義・変更する | 表の中身の行を検索・追加・更新・削除する |
| 設問で先に読む語 | 構造の定義、変更、列、データ型 | 検索、追加、更新、削除、行 |
公式一次資料と照合DS検定の一次資料で確認(一次情報確認日: 2026-07-12)一次資料の一覧を見る →
どこで迷っているかを切り分ける
DDLとDMLを『どちらもテーブル操作』とまとめて覚える初学者
CREATE TABLEは列名とデータ型などを指定して新しい表の構造を定義するデータ定義操作、INSERTは既存の表へ新しい行を追加するデータ操作です。どちらもテーブルに関わる命令ですが、構造を作るのか、中身のデータを追加するのかで対象が異なります。
命令名だけで丸暗記しようとする人
命令名を語呂合わせで覚えるより先に、『テーブルという入れ物の形を変える命令か、その入れ物に入っているデータを操作する命令か』を確認してください。CREATE TABLEは前者、INSERTは後者に当たります。
検索・更新・削除も同じ理屈で判断したい再受験者
DMLは、データの検索・追加・更新・削除といったデータそのものの操作を行う命令群として整理されます。INSERT以外の命令が問われた場合も、テーブルの構造を変えるのか、中身のデータを操作するのかという同じ基準で確認してください。
具体例で使い分ける
編集部の整理
例 1
表の構造を新しく定義する
新しい表を作るために、列名とそれぞれのデータ型を指定して構造を定義する場面です。
- 操作の対象は、まだ存在しない表の構造そのものです。
- 列名とデータ型など、表の形を決める情報を指定しています。
- 既存の表に対してデータを追加・検索する操作ではありません。
結論: 表の構造を定義する操作なので、DDLに分類されるCREATE TABLEの説明です。
例 2
既存の表へ新しい行を追加する
既に構造が定義された表に対して、新しい行のデータを追加する場面です。
- 操作の対象は、表の構造ではなく、表の中に入る行のデータです。
- 表そのものはすでに存在しており、その中身へ新しい行を加えています。
- 列名やデータ型を指定して構造を作る操作ではありません。
結論: 既存の表へデータを追加する操作なので、DMLに分類されるINSERTの説明です。
例 3
格納済みのデータを検索・更新・削除する
表の構造はそのままに、格納されているデータを検索したり、内容を更新・削除したりする場面です。
- 操作の対象は表の構造ではなく、格納されているデータそのものです。
- データの検索・追加・更新・削除は、DMLがまとめて担う操作として整理されます。
- 列やデータ型を新しく定義・変更する操作ではありません。
結論: データそのものを検索・更新・削除する操作なので、DMLとして整理します。
問題文から答えを選ぶ手順
編集部の整理操作の対象が構造かデータかで選ぶ手順は編集部の学習上の整理です。
- 1
操作の対象を確認する
表の構造(列やデータ型)を対象にしているか、表の中のデータを対象にしているかを確認します。
- 2
代表例と照らす
列名とデータ型などを指定して新しい表の構造を定義するならCREATE TABLE(DDL)、既存の表へ新しい行を追加するならINSERT(DML)です。
- 3
検索・更新・削除も同じ基準で見る
データの検索・追加・更新・削除といった、データそのものを操作する命令はDMLとして整理します。表の構造を定義・変更する命令とは対象が異なります。
- 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の命令?
はい。どちらもSQLの命令ですが、DDLは表の構造そのものを定義・変更し、DMLはデータの検索・追加・更新・削除を行うという対象の違いがあります。
QCREATE TABLEとINSERTはどう違う?
CREATE TABLEは列名とデータ型などを指定して新しい表の構造を定義するデータ定義操作、INSERTは既存の表へ新しい行を追加するデータ操作です。
Q検索・更新・削除もDML?
はい。データの検索・追加・更新・削除といったデータそのものの操作を行う命令群としてDMLに整理されます。
Q試験ではどちらを先に確認する?
命令が変える対象が表の構造なのか、表の中のデータなのかを先に確認します。構造ならDDL、データならDMLです。
執筆: ミナト編集部(運営者情報を見る)