こんにちは、阿久梨絵です!
SQL を学び始めると、いろんな命令が出てきますよね。
その中でもよく登場するのが、DDL(データ定義言語)とDML(データ操作言語)。
でも「定義」と「操作」って、どう違うの?
どっちがどんな役割なの?
そんな疑問に、やさしくお答えしていきます。
まずはざっくり違いを整理!
| 分類 | 略称 | 目的 | 主なコマンド | 操作対象 |
|---|---|---|---|---|
| データ定義言語 | DDL | データベースの構造を作る・変える | CREATE / ALTER / DROP / TRUNCATE | テーブルやカラムなどの“箱” |
| データ操作言語 | DML | データの追加・変更・削除・取得 | INSERT / UPDATE / DELETE / SELECT | テーブル内の“中身” |
DDLは「箱を作る」、DMLは「箱の中身をいじる」──そんなイメージです。
DDL(Data Definition Language)とは?
DDLは、データベースの構造を定義・変更・削除するための命令です。
主なコマンド
・CREATE:新しいテーブルやビューを作成
・ALTER:既存のテーブル構造を変更(カラム追加など)
・DROP:テーブルやデータベースを削除
・TRUNCATE:テーブルの中身を一括削除(構造は残る)
注意:多くのDBではROLLBACKできないため、実行には慎重さが必要です。
DML(Data Manipulation Language)とは?
DMLは、データベース内の“実際のデータ”を操作するための命令です。
主なコマンド
・INSERT:新しいデータを追加
・UPDATE:既存のデータを更新
・DELETE:不要なデータを削除
・SELECT:条件に合うデータを取得
DMLはトランザクション制御(COMMIT / ROLLBACK)と相性が良く、安心して操作できます。
たとえるなら…
| イメージ | DDL | DML |
|---|---|---|
| 家づくり | 家の設計図を書く・壁を立てる | 家具を置く・掃除する・模様替えする |
| 学校 | 教室を建てる・間取りを変える | 生徒を入れる・座席を変える・出席を取る |
DDLは“構造”、DMLは“内容”。
どちらも大切だけど、目的が違うんです。
まとめ
SQL には、データベースの“箱”を作るDDLと、その中身を操作するDMLがあります。
それぞれの役割を理解することで、安全で効率的なデータ操作ができるようになります。
「箱を作る → 中身を入れる」
そんな流れを意識すると、SQLの世界がぐっとわかりやすくなります。
阿久梨絵でした!
