Table of Contents
DCL (데이터 제어 언어 : Data Control Language) #
DCL 이란, SQL의 한 종류로서 데이터의 무결성(Integruty), 보안(Security), 회복(Recovery), 동시성(Concurrency)을 위해 사용자별 데이터베이스의 접근 또는 사용 권한을 부여 또는 제거하여 데이터를 보호 관리하는 언어이다.
제어 가능한 권한 #
권한명 | 설명 |
---|---|
GRANT | 데이터베이스 사용자에게 특정 작업에 대한 수행 권한 부여할 수 있는 권한 |
REVOKE | 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 박탈, 회수할 수 있는 권한 |
COMMIT | 트랜잭션의 작업이 정상적으로 완료할 수 있는 권한 |
ROLLBACK | 트랜잭션의 작업이 비정상적으로 종료되었을 때 원래의 상태로 복구할 수 있는 권한 |
DCL의 종류 #
GRANT #
데이터베이스 사용자에게 권한(제어 가능한 권한 참조)을 부여하는 명령어이다.
-
권한부여
GRANT [권한] ON [DB].[TABLE] TO [유저_ID]@[호스트];
-
사용자 등록 및 권한부여
GRANT [권한] ON [DB].[TABLE] TO [유저_ID]@[호스트] IDENTIFIED BY '비밀번호';
-
권한 확인
SHOW GRANTS FOR [유저_ID]@[호스트];
[예제] #
-
사용자에게 테이블의 SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER 권한을 부여
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON (테이블명) TO 사용자;
-
사용자에게 테이블의 모든 권한을 부여
GRANT ALL PRIVILEGES ON (table 명) TO 사용자명;
REVOKE #
데이터베이스 사용자로부터 권한(제어 가능한 권한 참조)을 제거하는 명령어이다.
REVOKE [권한] ON [DB].[TABLE] FROM [유저_ID]@[호스트]
COMMIT #
데이터베이스의 작업한 결과를 물리적 디스크로 저장하고, 작업이 정상적으로 완료시키는 명령어이다.
COMMIT;
ROLLBACK #
데이터베이스의 트랜잭션 작업이 비정상적으로 종료되었을 때 원래의 상태로 복구하는 명령어이다.
-
COMMIT 명령어를 사용하기 이전의 상태만 ROLLBACK 가능
ROLLBACK;