데이터 제어어(DCL)

draidev·2022년 1월 30일
0

데이터 제어어(DCL : Data Control Language)


작성한 내용은 edwith의 "기초데이터 분석을 위한 SQL핵심"과 시나공 정보처리기사 책 등을 참고하여 정리한 것입니다.
(출처 : https://www.boostcourse.org/ds102/lecture/373326?isDesc=false)

시나공에서는 COMMITROLLBACK 명령어를 DCL에 포함시켰는데, 강의에서는 트랜잭션 제어어(TCL)로 따로 뺐다.

  • 데이터 제어어는 데이터 접근 권한 부여 및 제거할 때 사용하는 명령어이다.
  • 데이터베이스 관리자(DBA)가 특정 사용자(User)에게 데이터 접근 권한을 부여 및 제거할 때 사용하는 명령어이다.
  1. 사용자 확인 : USE MYSQL
  2. 사용자 추가 및 삭제 : CREATE, DROP
  3. 권한 부여 및 삭제 : GRANT, REVOKE

GRANT 권한 부여

GRANT SELECT ON [TABLE NAME] TO [USER];
GRANT INSERT ON [TABLE NAME] TO [USER];
GRANT DELETE ON [TABLE NAME] TO [USER];
GRANT UPDATE ON [TABLE NAME] TO [USER];

모든 권한을 주고 싶을 때는 `ALL`
GRANT ALL ON [TABLE NAME] TO [USER];

REVOKE 권한 삭제

REVOKE SELECT ON [TABLE NAME] FROM [USER];
REVOKE INSERT ON [TABLE NAME] FROM [USER];
REVOKE DELETE ON [TABLE NAME] FROM [USER];
REVOKE UPDATE ON [TABLE NAME] FROM [USER];

모든 권한을 삭제할 때
REVOKE SELECT, INSERT, DELETE, UPDATE ON [TABLE NAME] FROM [USER] ;

GRANT는 USER앞에TO를 REVOKE은 USER앞에 FROM을 사용한다.


우선 MYSQL 데이터베이스를 사용하기 위해 다음과 같이 실행한다.

/***************사용자 확인***************/
/* MYSQL 데이터베이스 사용 */
USE MYSQL;
/* 사용자 확인 */
SELECT  *
  FROM  USER;

/***************사용자 추가***************/
/* 사용자 아이디 및 비밀번호 생성 */
CREATE USER 'TEST'@LOCALHOST IDENTIFIED BY 'TEST';

/* 사용자 확인 */
SELECT  *
 FROM  USER;

TEST라는 유저가 추가된 것을 볼 수 있다.

/* 사용자 비밀번호 변경 */
SET PASSWORD FOR 'TEST'@LOCALHOST = '1234';

잘 실행되었다면 MySQL창 왼쪽위에 있는 홈버튼을 눌러보면 TEST가 추가 되어있는 것을 확인 할 수 있다. 이때 비밀번호는 설정한 '1234'이다.

/***************권한 부여 및 제거***************/ 
/** 권한: CREATE, ALTER, DROP, INSERT, DELETE, UPDATE, SELECT 등  **/

/* 특정 권한 부여 */
GRANT SELECT, DELETE ON PRACTICE.회원테이블 TO 'TEST'@LOCALHOST;

/* 특정 권한 제거 */
REVOKE DELETE ON PRACTICE.회원테이블 FROM 'TEST'@LOCALHOST;

/* 모든 권한 부여 */
GRANT ALL ON Practice.회원테이블 TO 'TEST'@LOCALHOST;

/* 모든 권한 제거 */
REVOKE ALL ON Practice.회원테이블 FROM 'TEST'@LOCALHOST;
/***************사용자 삭제***************/ 

/* 사용자 삭제 */
DROP USER 'TEST'@LOCALHOST;

/* 사용자 확인 */
SELECT  *
  FROM  USER;
profile
I trust myself.

0개의 댓글

관련 채용 정보