[SQL] 5. DCL이란?

gyrud02·2021년 12월 28일
0

데이터베이스(DB)

목록 보기
7/8

5. DCL(Data Control Language)

데이터베이스에 접근하거나 객체에 권한을 주는 역할을 하는 명령어이다. COMMIT, ROLLBACK, GRANT, REVOKE 등이 속한다.

① GRANT

// 예시
GRANT 권한종류 ON 대상 TO 계정명 IDENTIFIED BY 암호 [WITH GRANT OPTION];


// 예제 - 모든 권한을 가진 계정 생성
GRANT ALL ON *.* TO test@localhost IDENTIFIED BY "1234";

// 예제 - 특정 데이터베이스에 조회 권한을 가진 계정 생성
GRANT SELECT ON test.* TO test@localhost IDENTIFIED BY "1234";

// GRANT로 계정 생성 후 명령어를 실행해야 적용이 된다.
FLUSH privileges;
  • 사용자 권한을 설정하는 명령어이다.

② REVOKE

// 예시
REVOKE INSERT / UPDATE / CREATE ON [DB명.테이블명] TO [user@host];


// 예제 - 전체 권한을 해제하라.
REVOKE ALL ON testdb@testtable TO [user@localhost];
  • GRANT로 적용한 권한을 해제하는 명령어이다.

③ COMMIT

// 예시
COMMIT;
  • 작업한 결과를 물리적 디스크로 저장하고, 조작 작업이 완료됨을 사용자에게 알려주는 명령어이다.

④ ROLLBACK

// 예시
ROLLBACK;
  • COMMIT을 하기 이전의 상태만 ROLLBACK이 가능하다. 만약, COMMIT 명령어를 입력하였다면 COMMIT 하기 이전의 데이터 상태로 돌아갈 수 없다.
profile
Back-End Engineer

0개의 댓글