DDLとDMLとは何ですか?


345

データベースに関してDDLおよびDMLという用語を聞いたことがありますが、それらが何であるかわかりません。

それらは何であり、SQLとどのように関連していますか?

回答:


280

SQLコマンドは、DDL、DML、DCLの3つのサブグループに分類できます。

詳細については、こちらをご覧ください:MySQL DDL、DML、DCLとは何ですか?、オリジナルは次のとおりです。

DDL

DDLはデータ定義言語の略称で、データベーススキーマとデータベースのデータの配置方法を記述したものです。

  • CREATE –データベースとそのオブジェクト(テーブル、インデックス、ビュー、ストアプロシージャ、関数、トリガーなど)を作成します
  • ALTER –既存のデータベースの構造を変更します
  • DROP –データベースからオブジェクトを削除する
  • TRUNCATE –テーブルからすべてのレコードを削除します。レコードに割り当てられたすべてのスペースも削除されます
  • COMMENT –データディクショナリにコメントを追加します
  • RENAME –オブジェクトの名前を変更する

DML

DMLは、データ操作を扱うデータ操作言語の略称であり、SELECT、INSERT、UPDATE、DELETEなどの最も一般的なSQLステートメントが含まれており、データベース内のデータの保存、変更、取得、削除、更新に使用されます。

  • SELECT –データベースからデータを取得します
  • INSERT –データをテーブルに挿入する
  • UPDATE –テーブル内の既存のデータを更新します
  • DELETE –データベーステーブルからすべてのレコードを削除します
  • MERGE – UPSERT操作(挿入または更新)
  • CALL – PL / SQLまたはJavaサブプログラムを呼び出す
  • EXPLAIN PLAN –データアクセスパスの解釈
  • LOCK TABLE –同時実行制御

DCL

DCLは、GRANTなどのコマンドを含むデータ制御言語の略称であり、主にデータベースシステムの権限、権限、その他の制御に関係しています。

  • GRANT –ユーザーにデータベースへのアクセス権限を許可する
  • REVOKE – GRANTコマンドを使用して付与されたユーザーアクセス権限を撤回する

TCL

TCLは、データベース内のトランザクションを処理するトランザクション制御言語の略称です。

  • COMMIT –トランザクションをコミットします
  • ROLLBACK –エラーが発生した場合にトランザクションをロールバックする
  • SAVEPOINT –グループ内のポイントを作成するトランザクションをロールバックします
  • SET TRANSACTION –トランザクションの特性を指定します

2
リンクが利用できなくなる将来のケースでは少し答えを広げたいと思うかもしれません
svarog

2
SELECT / SHOW / EXPLAIN / HELPなどのコマンドがDMLから分割されDQL、QueryのQを使用しての下にグループ化されることもあります。これらは実際には何も操作しないためです。
okdewit 2017年

1
TRUNCATEはDMLである必要があります
Pete Alvin

@PeteAlvin方法はありません。
snr

335

DDLデータ定義言語です。データ構造を定義するために使用されます。。

たとえば、SQLで、それは以下のような手順になりcreate tablealter table...


DMLデータ操作言語です。データ自体を操作するために使用されます。。

たとえば、SQLで、それは以下のような手順になりinsertupdatedelete、...


6
DESCRIBEはDDLまたはDMLですか?
トムJムティレンティ2017年

2
@TomJMuthirenthiどちらにも当てはまらないと思いDESCRIBEます。テーブル/ DBがどのように構造化されているかを表す独自の表現を返すだけです。たとえばCREATE、「人間が読める形式」ではなく、同じことを実現できます
JensV

SELECTがDMLと見なされる場合、DESCRIBEはDDLと見なされる必要があります。
シュロイム2018

40

DDLデータ定義言語です。データベーススキーマを定義するための仕様表記法です。スキーマレベルで動作します。

DDLコマンドは次のとおりです。

create,drop,alter,rename

例えば:

create table account (
  account-number  char(10),
 balance integer);

DMLデータ操作言語ですです。にアクセスして操作するために使用されます。

DMLコマンドは次のとおりです。

select,insert,delete,update,call

例えば ​​:

update account set balance = 1000 where account_number = 01;

1
@isapir SQLでデータを「操作」するには、3つの一般的な方法があります。(1)表示される結果を変更できます。(2)結果の表示方法や整理方法(並べ替え順など)を変更できます。(3)基礎となるデータを変更できます。最初のケースでは、SELECTステートメントでさまざまなWHERE句、JOIN述語などを使用して、表示される結果を変更できます。残高が1000であるアカウントからselect *を実行した場合とは結果が大きく異なります(アカウントに複数の行があると仮定)。
Raju

1
さまざまな形式のデータを選択すると、データ自体ではなく、そのクエリのデータの表示が変更されます。DMLのMは、データの操作、または一般的な用語での変更を表します。SELECTデータは変更されません。または、TRUNCATEそうであり、したがってDML命令であり、DDL命令ではありません。
isapir 2018

31

ここに画像の説明を入力してください

DDL、データ定義言語

  • データベース内のデータベースオブジェクトの構造を作成および変更します。
  • これらのデータベースオブジェクトには、テーブル、ビュー、スキーマ、インデックスなどがあります。

例えば:

  • CREATEALTERDROPTRUNCATECOMMIT、など

DML、データ操作言語

DMLステートメントはテーブルに影響します。これが、テーブルで実行する基本的な操作です。

  • 基本的なクラッド操作は表で実行されます。
  • これらのCRUD操作は、によって行われSELECTINSERTUPDATE、など

以下のコマンドはDMLで使用されます。

  • INSERTUPDATESELECTDELETE、など

14

簡単に言えば、家を建てたいと思っている場合、あなたは何をしますか。

DDL つまり、データ定義言語

  1. ゼロから構築
  2. それを改装する
  3. 古いものを破壊し、最初から再作成します

あれは

  1. CREATE
  2. ALTER
  3. DROP & CREATE

DML つまり、データ操作言語

人々が家に来たり、家の中に入ったり

  1. SELECT
  2. DELETE
  3. UPDATE
  4. TRUNCATE

DCL つまり、データ制御言語

家のどの部分にアクセスを許可するか、アクセスの種類を人々に制御したいとします。

  1. GRANT PERMISSION

11

DMLはData Manipulation Languageの略です。データベースでデータを取得、保存、変更、削除、挿入、更新するために使用されます。

例:SELECT、UPDATE、INSERTステートメント


DDLはData Definition Languageの略です。データベース内のデータベースオブジェクトの構造を作成および変更するために使用されます。

例:CREATE、ALTER、DROPステートメント

詳細については、このサイトにアクセスしてください:http : //blog.sqlauthority.com/2008/01/15/sql-server-what-is-dml-ddl-dcl-and-tcl-introduction-and-examples/


3

DDLはデータ定義言語です。DBを定義していると考えてください。したがって、CREATE、ALTER TRUNCATEコマンドを使用します。
DMLは、データを操作することを定義した後です。したがって、SELECT、INSERT、UPDATE、DELETEコマンドを使用します。

DDLコマンドは自動コミットされることに注意してください。COMMITステートメントを使用する必要はありません。
DML(データ操作言語)コマンドは、コミット/ロールバックする必要があります。


2

DDL =データ定義言語、データに関する構造やその他の情報を提供するコマンド

DML =データ操作言語。INSERT、UPDATE、DELETEの3つしかありません。4、あなたがカウントされます場合はSELECT * INTO x_tbl from tblMSSQL(ANSI SQL:のCREATE TABLE x_tbl AS SELECT * FROM tbl


2

簡単な言葉で。

DDL(データ定義言語):データの構造を処理します。データ構造を定義します。

DML(データ操作言語):データで動作します。データ自体を操作します



2

DDL

(データベース、テーブル、キー、インデックス、ビュー、関数、ストアドプロシージャ)の作成、変更、ドロップ

DML

(テーブル)の挿入、削除、更新、切り捨て


1

DDLはデータ定義言語の略です。DDLは、テーブルの作成やテーブルへの列の追加、さらにはテーブルのドロップやトランケートなど、テーブルの構造を定義するために使用されます。 DMLはデータ操作言語の略です。名前が示すように、テーブルのデータを操作するために使用されるDML。DMLには、挿入や削除などのいくつかのコマンドがあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.