web-dev-qa-db-ja.com

DDLとDMLとは何ですか?

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

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

277
Sachindra

DDLデータ定義言語:データ構造体を定義する

たとえば、SQLでは、create tablealter table、...のような命令になります。


DMLデータ操作言語 :データそのものを操作するために使われます。

たとえば、SQLでは、insertupdatedeleteなどの命令になります。

301
Pascal MARTIN

SQL command can be divided into three subgroups, DDL, DML and DCL

詳細はこちらを参照してください。 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は、データベース内のトランザクションを扱うTransaction Control Languageの短縮名です。

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

enter image description here

DDL、データ定義言語

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

例えば。:

  • CREATEname__、ALTERname__、DROPname__、TRUNCATEname__、COMMITname__など.

DML、データ操作言語

DML文はテーブルに影響を与えます。これがテーブルで実行する基本的な操作です。

  • 基本的なクラッド操作は表で行います。
  • これらのcrud操作はSELECTname__、INSERTname__、UPDATEname__などによって実行されます。

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

  • INSERTname__、UPDATEname__、SELECTname__、DELETEname__など.
27
JegsVala

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

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

create,drop,alter,rename,truncate

例えば:

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;
25
Raju

素人の言葉であなたは家を建てたいとします、あなたは何をしますか。

DDLすなわちデータ定義言語

  1. ゼロから構築する
  2. それを革新する
  3. 古いものを破壊して最初から作り直す

あれは

  1. CREATE
  2. ALTER
  3. DROP & CREATE

DMLすなわちデータ操作言語

人々はあなたの家から出入りする

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

DCLすなわちデータ制御言語

あなたは、人々が家のどの部分にアクセスを許可されているのか、そしてどのような種類のアクセスを許可するのかを制御したいと思います。

  1. GRANT PERMISSION
12
Satish Patel

DMLはデータ操作言語の省略形です。データベース内のデータを取得、格納、変更、削除、挿入、更新するために使用されます。

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


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

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

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

8
Uc.IT_samuel

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

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

3
Chinmoy

DDL:スキーマを変更する

DML:データを変更する

MySQLの制限に特有のようです( Railsのソースコード

2
Dorian

簡単な言葉で。

DDL(データ定義言語):データの構造に取り組みます。データ構造を定義します。

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

2
Sakib

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

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

2
Michael Buen

DDL

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

DML

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

2
rajender kumar

DDLはデータ定義言語を表します。 DDLは、テーブルの作成やテーブルへの列の追加、テーブルの削除や切り捨てなど、テーブルの構造を定義するために使用されます。 DMLはデータ操作言語を表します。その名の通り、tableのデータを操作するために使用されるDML。 DMLには、挿入や削除などのコマンドがいくつかあります。

1
Rishish