[SQL] DCL의 모든 것

DCL은 Data Control Language의 약자로, 'USER'를 생성하고, 'USER'에게 데이터를 컨트롤할 수 있는 권한을 부여하거나 회수하는 명령어이다. `CREATE USER`, `ALTER USER`, `DROP USER` 등이 있다.
Hi's avatar
Aug 28, 2024
[SQL] DCL의 모든 것

💡
DCL은 Data Control Language의 약자로, USER를 생성하고, USER에게 데이터를 컨트롤할 수 있는 권한을 부여하거나 회수하는 명령어이다.
CREATE USER, ALTER USER, DROP USER 등이 있다.
 

✅ 1. USER 관련 명령어

💡
하나의 데이터베이스는 여러 개의 USER를 가질 수 있다.
 

1) CREATE USER

사용자를 생성하는 명령어이다. CREATE USER 권한이 있어야 수행 가능하다.
CREATE USER 사용자명 IDENTIFIED BY 비밀번호;
 

2) ALTER USER

사용자를 변경하는 명령어이다.
예시 1: 비밀번호 변경
ALTER USER 사용자명 IDENTIFIED BY 새비밀번호;
여기서 username은 변경하려는 사용자 계정의 이름이다.
 
예시 2: 계정 잠금
ALTER USER 사용자명 ACCOUNT LOCK;
 
예시 3: 계정 잠금 해제
ALTER USER 사용자명 ACCOUNT UNLOCK;
 

3) DROP USER

사용자를 삭제하는 명령어이다.
DROP USER 사용자명;
 

✅ 2. 권한 관련 명령어

💡
사용자를 만들고 비밀번호를 부여했다면, 이제 권한을 부여해야 한다.
 

1) GRANT

사용자에게 권한을 부여하는 명령어이다.
GRANT 권한 TO 사용자명; // 예시 GRANT CREATE SESSION TO 사용자명; GRANT CREATE USER TO 사용자명; GRANT CREATE TABLE TO 사용자명;
 

2) REVOKE

사용자로부터 권한을 회수하는 명령어이다.
REVOKE 권한 FROM 사용자명; //예시 REVOKE CREATE TABLE FROM 사용자명;
 

✅ 3. ROLE 관련 명령어

💡
ROLE이란 특정 권한들의 집합이다.
예를 들어, CREATE SESSION, CREATE USER, CREATE TABLE 권한을 묶어 CREATE_SET이라 지정할 수 있다.
 

1) ROLE을 이용한 권한 부여

  1. ROLE 생성
    1. CREATE ROLE 롤명;
  1. ROLE에 권한 부여
    1. GRANT 권한 TO 롤명;
  1. ROLE을 사용자에게 부여
    1. GRANT 롤명 TO 사용자명;
 
 
Share article

soultree