データ定義言語(DDL)
DDLとは
DDL(Data Definition Language)とは、データ定義言語と呼ばれるSQLの命令のことです。
主なデータ定義言語は次の通り。
データ定義言語 | 説明 |
CREATE | 新しいテーブルやビューなどのデータベースオブジェクトを作成する |
DROP | 既存のデータベースオブジェクトを削除する |
ALTER | 既存のテーブルベースオブジェクトを変更する |
TRUNCATE | テーブルを再作成する(テーブル内のデータを全削除する) |
データベースに新規テーブルを作成する「CREATE」文、テーブルを削除する「DROP」文、既存テーブルのカラム定義を変更する「ALTER」文などのデータ定義言語ことを「DDL」といいます。
スポンサーリンク
ソフトウェア開発では、開発時に利用する「開発環境」、本番前の試験で利用する「検証環境」や「ステージング環境」、そして「本番環境」とさまざまな環境があります。
そのため、開発時に開発環境のデータベースに反映した DDL (CREATE文やALTER文など)は、検証時には「検証環境」や「ステージング環境」、本番反映時には「本番環境」へ反映させる必要があります。
上記図は、開発時に作成した「DDL」を各環境に反映させる時のイメージ図です。
開発環境と他環境のデータベースのテーブル定義に差異がないように、開発時に反映させた「DDL」をそのまま各環境に反映するケースが多いです。
DMLとの違い
「DDL」と似た言葉に「DML」(Data Manipulation Language)があります。
ソフトウェア開発の現場では、「DDL」と「DML」は当たり前のように利用されている言葉ですが、「DDL」と「DML」って何が違うの?という疑問を持ち、インターネットで検索した人も多いのではないでしょうか。
「DDL」はデータ定義言語であり、「CREATE」や「DROP」「ALTER」文のようなテーブルのデータを定義するSQL文のことです。
それに対し「DML」は、データ操作言語と呼ばれ「SELECT」「INSERT」「UPDATE」「DELETE」文のようなデータを操作するSQL文のことをいいます。
まとめ
- DDL:テーブルのデータを定義するSQL文(CREATEやALTERなど)
- DML:テーブルのデータを操作するSQL文(SELECTやINSERTなど)