Seung's Learning Record

[SQL] DCL 구문 본문

프로그래밍/SQL

[SQL] DCL 구문

70_0ewd 2024. 2. 20. 02:05

SQL에는 DML, DDL, DCL, TCL구문으로 분류된다.

  • DML 구문
    - 데이터 조작 언어 
    - 테이블의 행에 사용하는 구문이므로 테이블 정의가 선행되어야 함
    - SELECT, INSERT, UPDATE, DELETE가 여기에 속함
    - ROLLBACK, COMMIT 가능

  • DDL 구문
    - 데이터 정의 언어
    - 데이터 베이스 개체(데이터베이스, 테이블, 뷰, 인덱스)를 생성, 삭제, 변경
    - CREATE, DROP, ALTER가 여기에 속함
    - ROLLBACK, COMMIT 불가능

  • DCL 구문
    - 데이터 제어 언어
    - 사용자에게 어떠한 권한을 부여하거나 빼앗을 때 사용
    - GRANT, REVOKE
    - DDL구문과 마찬가지로 ROLLBACK, COMMIT 불가능

  • TCL 구문
    - 트랜잭션 제어 언어
    - 데이터의 보안, 무결성, 회복, 병행 수행제어 등을 정의하는데 사용
    - COMMIT, ROLLBACK, SAVEPOINT가 여기에 속함

DCL 구문

GRANT

사용자에게 특정 작업에 대한 수행 권한을 부여하는 구문

GRANT 권한 종류 ON 테이블 이름 TO 유저 이름 [WITH GRANT OPTION];

WITH GRANT OPTION 사용 시, 권한을 부여받은 사용자가 본인이 부여받은 권한을 다른 사용자에게 부여 가능하다.


REVOKE

사용자에게 특정 작업에 대한 수행 권한을 회수하는 구문

REVOKE 권한 이름 ON 테이블 이름 FROM 유저 이름 [CASCADE];

CASCADE 사용 시, 권한을 부여받은 사용자가 다른 사람에게 부여한 권한도 같이 연쇄적으로 취소된다.


권한 종류

  • CONNECT : 데이터베이스나 스키마에 연결하는 권한
  • SELECT : 데이터를 검색할 수 있는 권한
  • INSERT : 데이터를 삽입할 수 있는 권한
  • UPDATE : 데이터를 업데이트를 할 수 있는 권한
  • DELETE : 데이터를 삭제할 수 있는 권한
  • USAGE : 스키마 또는 함수와 같은 데이터베이스 개체를 사용할 수 있는 권한