[SQL] DDL / DML / DCL

2023. 3. 10. 11:07

DDL (Data Definition Language)

: 데이터 정의어 - 데이터 구조 or 스키마 변경

- 테이블과 같은 데이터 구조(스키마)를 정의하는데 사용되는 명령어들로 (생성, 변경, 삭제, 이름변경) 데이터 구조와 관련된 명령어들을 말함.

CREATE 객체 생성  
ALTER 구조 변경
테이블 수정
(컬럼추가/수정, 제약조건  추가/삭제/활성화/비활성화)
> ALTER TABLE 테이블명 ADD (..);
> ALTER TABLE 테이블명 MODIFY (..);
DROP 객체 삭제
테이블 구조 및 모든 행 삭제
> DROP TABLE 테이블명 [CASCADE CONSTRAINTS]; --제약조건 삭제
TRUNCATE 테이블의 구조는 남기고 안의 데이터만 삭제
테이블 초기화
 
RENAME 객체 이름 변경  
COMMENT 테이블 또는 컬럼에 주석 추가  
  • 실행 시 자동 commit
  • DDL은 데이터 구조 변경 / DML은 데이터 조작(DELETE...)
  • 컬럼이 NULL이거나 테이블에 데이터가 없을 때, 컬럼의 크기 축소 및 데이터 타입 변경 가능
  • 컬럼에 NULL이 없을 때만 NOT NULL 제약 조건 추가 가능

 

⭐ DML (Data Manipulation Language)

: 데이터 조작어 - 데이터 값 변경

- 입력, 수정, 삭제

SELECT 데이터 조회 ALL : 기본 옵션. 중복되는 데이터도 모두 출력
DISTINCT : 중복된 데이터가 있는 경우 1건만 출력
INSERT 데이터 삽입  
UPDATE 데이터 수정  
DELETE 데이터 삭제  
MERGE UPSERT(UPDATE + INSERT) 작업
데이터가 테이블에 존재하지 않으면 INSERT /
존재하면 UPDATE를 수행
 
LOCK TABLE 테이블 잠금  

 

 

DCL (Data Control Language)

: 데이터 제어어 - 접속 권한 변경

GRANT 특정 작업에 대한 수행 권한 부여
REVOKE 특정 작업에 대한 권한 회수

 

TCL (Transaction Control Language)

: DCL에서 논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어

COMMIT  
ROLLBACK ROLLBACK TO [savepoint] )
SAVEPOINT (≒ base line, > SAVEPOINT [  ];)

 

'Database > SQL' 카테고리의 다른 글

[SQL] 명령어  (0) 2023.03.17
[SQL] SQL문 실행 원리  (0) 2023.03.13

+ Recent posts