DML,DDL,DCL
DML (Data Manipulation Language) - 데이터 조작어
데이터 베이스에 들어있는 데이터를 조회하거나 검색하기 위한 명령어를 말한다.
SELECT
INSERT
UPDATE
DELETE
DDL (Data Definition Language) - 데이터 정의어
테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로 데이터 구조와 관련된 명령어들을 말한다.
CREATE
ALTER
DROP
RENAME
TRUNCATE
TRUNCATE : SQL에서 사용하는 명령어로 테이블의 모든 데이터를 빠르고 효율적으로 삭제하는데 사용된다.
1. 속도 : 데이터를 삭제할 때 로그를 거의 생성하지 않거나 매우 적게 생성하기 때문에 DELETE명령어보다 훨씬 빠르다. 이는 특히 큰 테이블에서 유용하다. 주로 테이블을 재사용하기 위해서 데이터를 초기화해야 할 때 사용된다.
2. 데이터베이스 로그 : TRUNCATE는 DELETE와 달리 ROW(행) 단위로 로그를 기록하지 않고, 테이블을 재설정하는 데 필요한 최소한의 정보만을 로그로 기록한다. 이로 인해 매우 빠르게 수행된다.
3. 공간 재사용 : TRUNCATE명령은 테이블의 공간을 삭제하지 않고 비워서 재사용 가능하게 한다. 이는 공간을 효율적으로 관리할 수 있게 해준다.
4. 자동 증가 필드 초기화 : TRUNCATE는 자동 증가(AUTO_INCREMENT)속성이 설정된 필드의 카운터를 초기화한다. 이는 DELETE명령어에서는 일어나지 않는 특징이다.
5. 제약 조건 : 일부 시스템에서는 TRUNCATE가 외래 키 제약 조건을 가진 테이블에서 사용할 수 없다. 이 경우 대신 DELETE명령어를 사용해야 할 수도 있다.
DCL (Data Control Language) - 데이터 제어어
데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어들을 말한다.
GRANT
REVOKE