Skip to content

SQL DCL #
Find similar titles

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;
    
0.0.1_20210630_7_v33