データベース

DDL(データ定義言語)とは

2021年2月19日

テーブルに反映する「DDL」の準備をお願い
え・・・。「DDL」って何だろう。。。

データ定義言語(DDL)

DDLとは

DDL(Data Definition Language)とは、データ定義言語と呼ばれるSQLの命令のことです。

主なデータ定義言語は次の通り。

データ定義言語説明
CREATE新しいテーブルやビューなどのデータベースオブジェクトを作成する
DROP既存のデータベースオブジェクトを削除する
ALTER既存のテーブルベースオブジェクトを変更する
TRUNCATEテーブルを再作成する(テーブル内のデータを全削除する)

データベース新規テーブルを作成する「CREATE」文、テーブルを削除する「DROP」文、既存テーブルのカラム定義を変更する「ALTER」文などのデータ定義言語ことを「DDL」といいます。

スポンサーリンク

ソフトウェア開発では、開発時に利用する「開発環境」、本番前の試験で利用する「検証環境」や「ステージング環境」、そして「本番環境」とさまざまな環境があります。

そのため、開発時に開発環境のデータベースに反映した DDL (CREATE文やALTER文など)は、検証時には「検証環境」や「ステージング環境」、本番反映時には「本番環境」へ反映させる必要があります。

DDL

上記図は、開発時に作成した「DDL」を各環境に反映させる時のイメージ図です。

開発環境と他環境のデータベースのテーブル定義に差異がないように、開発時に反映させた「DDL」をそのまま各環境に反映するケースが多いです。

開発時の段階では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など)

helpful