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 : 스키마 또는 함수와 같은 데이터베이스 개체를 사용할 수 있는 권한
'프로그래밍 > SQL' 카테고리의 다른 글
[프로그래머스] 재구매가 일어난 상품과 회원 리스트 구하기 (0) | 2024.02.21 |
---|---|
[프로그래머스] 12세 이하인 여자 환자 목록 출력하기 문제 (0) | 2024.02.21 |
[SQL] JOIN 구문 (0) | 2024.02.21 |
[SQL] DDL 구문 (0) | 2024.02.20 |
[SQL] DML 구문 (0) | 2024.02.20 |