MySQL

SQL - 3. DCL 이란?

whs5758 2025. 5. 9. 15:20
  • SQL(Structured Query Language)은 데이터베이스와 소통하는 언어입니다.
  • 역할: 데이터베이스에서 데이터를 만들고, 조회하고, 수정하고, 삭제하고, 권한을 관리합니다.
  • SQL은 크게 세 가지로 나뉩니다
    1. DDL: 데이터베이스 구조를 만든다.
    2. DML: 데이터를 다룬다.
    3. DCL: 데이터 접근 권한을 관리한다.

DCL (Data Control Language, 데이터 제어 언어)

DCL은 데이터베이스 접근 권한을 관리하는 명령어입니다. 누가 데이터를 볼 수 있고, 수정할 수 있는지 설정합니다. 도서관에서 특정 책은 학생만, 특정 책은 선생님만 볼 수 있도록 규칙을 만드는 것과 같아요.

주요 명령어

  • GRANT: 권한 부여.
  • REVOKE: 권한 회수.
-- DCL 데이터 제어 언어

-- 현재 root 계정 (최고 관리자)
create database mydb2;

-- 사용자 생성 및 비밀번호 설정 (로컬 컴퓨터로만 접근 가능한 계정) - 참고 5,8 버전에 따라 명령어가 다르다 -> 8 기준
create USER 'user1'@'localhost' identified by 'password123';

-- user1 계정에 조회 권한만 부여해보자. 
grant select on school.student to 'user1'@'localhost';

-- user1 계정에 조회 권한 회수
revoke select on school.student from 'user1'@'localhost';

-- 원격 및 로컬에서 접근 가능한 아이디 생성 및 권한 부여 (원격, 로컬)
-- % 전체를 의미한다.
create user 'user2'@'%' identified by 'password123';
create user 'user2'@'localhost' identified by 'password123';

-- 권한 부여
-- school.student (INSERT, SELECT, DELETE, UPDATE)
grant SELECT, INSERT, UPDATE, DELETE on school.student to 'user2'@'%';
grant SELECT, INSERT, UPDATE, DELETE on school.student to 'user2'@'localhost';
use school;

select * from student; 

insert into student(id, name, age) values(2, '홍길동', 22); -- 현재 권한 없음

 

IP 확인 프롬프트 명령어 : ipconfig


 

정리 - SQL( DDL, DML, DCL )

 

'MySQL' 카테고리의 다른 글

MySQL에 대표적인 데이터 타입  (0) 2025.05.09
SQL ( DDL, DML, DCL ) - 실습 과제  (0) 2025.05.09
SQL - 2. DML 이란?  (0) 2025.05.09
SQL - 1. DDL 이란?  (0) 2025.05.09
데이터베이스 구축 절차  (0) 2025.05.09