DDL과 DML이란 무엇입니까?


347

데이터베이스와 관련하여 DDL 및 DML이라는 용어를 들었지만 그 의미를 이해하지 못합니다.

그것들은 무엇이며 SQL과 어떤 관련이 있습니까?

답변:


283

SQL 명령은 3 개의 하위 그룹 인 DDL, DML 및 DCL로 나눌 수 있습니다

자세한 내용은 여기를 참조하십시오 : MySQL DDL, DML 및 DCL이란 무엇입니까? 원본은 다음과 같습니다.

DDL

DDL은 데이터베이스 스키마 및 설명을 처리하고 데이터가 데이터베이스에 상주하는 방법을 다루는 데이터 정의 언어의 짧은 이름입니다.

  • CREATE – (테이블, 인덱스, 뷰, 저장 프로 시저, 함수 및 트리거)와 같은 데이터베이스 및 해당 개체를 생성합니다.
  • ALTER – 기존 데이터베이스의 구조를 변경합니다
  • DROP – 데이터베이스에서 객체 삭제
  • TRUNCATE – 레코드에 할당 된 모든 공간을 포함하여 테이블에서 모든 레코드를 제거합니다.
  • 주석 – 데이터 사전에 주석 추가
  • 이름 바꾸기 – 개체 이름 바꾸기

DML

DML은 데이터 조작을 처리하는 데이터 조작 언어의 짧은 이름이며 SELECT, INSERT, UPDATE, DELETE 등과 같은 가장 일반적인 SQL 문을 포함하며 데이터베이스에서 데이터를 저장, 수정, 검색, 삭제 및 업데이트하는 데 사용됩니다.

  • SELECT – 데이터베이스에서 데이터 검색
  • 삽입 – 테이블에 데이터 삽입
  • 업데이트 – 테이블 내의 기존 데이터를 업데이트
  • DELETE – 데이터베이스 테이블에서 모든 레코드 삭제
  • MERGE – UPSERT 작업 (삽입 또는 업데이트)
  • 호출 – PL / SQL 또는 Java 서브 프로그램 호출
  • 설명 계획 – 데이터 액세스 경로 해석
  • 잠금 테이블 – 동시성 제어

DCL

DCL은 GRANT와 같은 명령을 포함하며 주로 데이터베이스 시스템의 권한, 권한 및 기타 제어와 관련된 데이터 제어 언어의 짧은 이름입니다.

  • GRANT – 사용자가 데이터베이스에 대한 액세스 권한을 허용
  • REVOKE – GRANT 명령을 사용하여 제공된 사용자 액세스 권한을 철회

TCL

TCL은 데이터베이스 내의 트랜잭션을 처리하는 트랜잭션 제어 언어의 짧은 이름입니다.

  • COMMIT – 트랜잭션 커밋
  • ROLLBACK – 오류 발생시 트랜잭션 롤백
  • SAVEPOINT – 그룹 내 트랜잭션 작성 포인트 롤백
  • 거래 설정 – 거래 특성 지정

2
나중에 링크를 사용할 수 없게 될 경우 답변을 조금 더 확장하고 싶을 수도 있습니다.
svarog

2
때로는 SELECT / SHOW / EXPLAIN / HELP와 같은 명령이 DML에서 분리되어 DQL쿼리에서 Q로 그룹화되어 -실제로 아무것도 조작하지 않기 때문에 아래 에 그룹화됩니다 .
okdewit

1
TRUNCATE는 DML이어야합니다
Pete Alvin

@PeteAlvin 안돼.
snr

336

DDL데이터 정의 언어 이며 데이터 구조 를 정의하는 데 사용됩니다 .

예를 들어, SQL의 create table경우 alter table,, ... 와 같은 명령이됩니다 .


DML데이터 조작 언어입니다 . 데이터 자체 를 조작 하는 데 사용 됩니다 .

예를 들어, SQL과 함께, 그것은 다음과 같은 지침을 것이다 insert, update, delete, ...


6
DESCRIBE는 DDL 또는 DML입니까?
Tom J Muthirenthi

2
@TomJMuthirenthi 나는 DESCRIBE둘 중 어느 것에도 맞지 않다고 생각 합니다. 테이블 / DB가 어떻게 구성되어 있는지에 대한 자체 표현을 반환합니다. 예를 들어 CREATE"사람이 읽을 수있는"것이 아니라 같은 것을 얻을 수 있습니다
JensV

SELECT가 DML로 간주되면 DESCRIBE는 DDL로 간주해야합니다.
Shloim

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에서 데이터를 "조작"할 수있는 일반적인 세 ​​가지 방법이 있습니다. (1) 표시되는 결과를 변경할 수 있습니다. (2) 결과의 표시 또는 구성 방법을 정렬 순서 등과 같은 방식으로 변경할 수 있습니다. (3) 기본 데이터를 변경할 수 있습니다. 첫 번째 경우 SELECT 문에서 다른 WHERE 절, JOIN 조건 자 등을 사용하여 표시되는 결과를 변경할 수 있습니다 (예 : "select * from account;"). balance = 1000 인 select * from account와는 훨씬 다른 결과를 제공합니다 (계정에 행이 두 개 이상 있다고 가정).
Raju

1
다른 형식의 데이터를 선택하면 데이터 자체가 아니라 해당 쿼리에 대한 데이터 표시가 수정됩니다. DML에서 M은 데이터의 조작 또는 일반 용어로 수정을 나타냅니다. SELECT데이터를 수정하지 않습니다. 또는 TRUNCATEDML 명령어가 아니라 DML 명령어입니다.
isapir

31

여기에 이미지 설명을 입력하십시오

DDL, 데이터 정의 언어

  • 데이터베이스에서 데이터베이스 오브젝트의 구조를 작성하고 수정하십시오.
  • 이 데이터베이스 객체에는 테이블, 뷰, 스키마, 인덱스 등이있을 수 있습니다.

예 :

  • CREATE, ALTER, DROP, TRUNCATE, COMMIT, 등

DML, 데이터 조작 언어

DML 문은 테이블에 영향을줍니다. 이것이 우리가 테이블에서 수행하는 기본 작업입니다.

  • 기본적인 크루 드 작업은 테이블에서 수행됩니다.
  • 이러한 침전물의 동작에 의해 수행되는 SELECT, INSERT, UPDATE

아래 명령은 DML에서 사용됩니다.

  • INSERT, UPDATE, SELECT, DELETE, 등

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은 데이터 정의 언어의 약어입니다 . 데이터베이스에서 데이터베이스 오브젝트의 구조를 작성하고 수정하는 데 사용됩니다.

예 : 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 (Data Manipulation Language) 명령을 커밋 / 롤백해야합니다.


2

DDL = 데이터 정의 언어, 데이터에 대한 구조 및 기타 정보를 제공하는 모든 명령

DML = Data Manipulation Language, 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.