Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

햄발

DML, DDL, DCL 본문

MySQL

DML, DDL, DCL

햄발자 2024. 6. 10. 17:37

 

 

DML

(Data Manipulation Language) (데이터 조작어)

 

데이터베이스에 들어 있는 데이터를 조회하거나 검색하기 위한 명령어를 말한다.
SELECT 
INSERT
UPDATE
DELETE

 

 

DDL

(DDL : Data Definition Language) (데이터 정의어)

 

테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로 (생성, 변경, 삭제, 이름변경) 데이터 구조와 관련된 명령어들을 말한다.
TRUNCATE 는 SQL에서 사용하는 명령어로, 테이블의 모든 데이터를 빠르고 효율적으로 삭제하는데 사용됩니다.
TRUNCATE 명령어는 테이블 내의 데이터를 삭제할 때 DELETE 명령어보다 훨씬 빠르게 작동하며, 주로 테이블을 재사용하기 위해 데이터를 초기화할 때 사용됩니다.
TRUNCATE TABLE table_name;

 

 

TRUNCATE의 특징

 

속도

 

TRUNCATE 는 데이터를 삭제할 때 로그를 거의 생성하지 않거나 매우 적게 생성하기 때문에, DELETE 명령어보다 훨씬 빠릅니다. 이는 특히 큰 테이블에서 유용합니다.

 

데이터베이스 로그

 

TRUNCATEDELETE 와 달리 로우(행) 단위로 로그를 기록하지 않고, 테이블을 재설정하는 데 필요한 최소한의 정보만을 로그로 기록합니다. 이로 인해 매우 빠르게 수행됩니다.

 

공간 재사용

 

TRUNCATE 명령은 테이블의 공간을 삭제하지 않고 비워서 재사용 가능하게 합니다. 이는 공간을 효율적으로 관리할 수 있게 해 줍니다.

 

자동 증가 필드 초기화

 

TRUNCATE 는 자동 증가(AUTO_INCREMENT) 속성이 설정된 필드의 카운터를 초기화합니다. 이는 DELETE 명령어에서는 일어나지 않는 특징입니다.

 

제약 조건

 

일부 시스템에서는 TRUNCATE 가 외래 키 제약 조건을 가진 테이블에서 사용할 수 없습니다. 이 경우, 대신 DELETE 명령어를 사용해야 할 수도 있습니다.

 

 

DCL

(DCL : Data Control Language) (데이터 제어어)

 

데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어들을 말한다
GRANT
REVOKE

'MySQL' 카테고리의 다른 글

SELF JOIN  (0) 2024.06.11
정규화 1  (0) 2024.06.11
MySQL 계정 생성 및 권한  (0) 2024.06.10
SQL 쿼리의 일반적인 처리 순서  (1) 2024.06.10
Groub By 와 having 절  (0) 2024.06.10