Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

luke

[MySQL] - SQL 분류 (DML, DDL, DCL, TCL) 본문

DB/MySQL

[MySQL] - SQL 분류 (DML, DDL, DCL, TCL)

luke-king 2024. 5. 14. 20:37

 

 

 

 

 

[MySQL] - SQL 분류 (DML, DDL, DCL)

데이터 베이스의 기본부터 차근차근 하나씩 정리해보려고 한다.

위 제목과 같이 오늘은DML, DDL, DCL에 대해 정리해보겠다.

 

 


DML(Data Manipulation Language) (데이터 조작 언어)

  • DML은 데이터 조작에 사용하는 언어로, 테이블의 데이터를 조회, 저장, 수정, 삭제한다.
  • DML 구문이 사용되는 대상은 테이블의 행이다.
  • DML 사용하기 위해서는 그 이전에 테이블이 정의되어 있어야 한다.
  • 데이터베이스 내부에 실제로 저장된 데이터들을 다루는 역할을 한다.

 

[ DML 종류와 역할 ]

  • SELECT : 저장된 데이터를 조회
  • INSERT : 새로운 데이터를 저장
  • UPDATE : 저장된 데이터를 수정
  • DELETE : 저장된 데이터를 삭제

 


DDL(Data Defination Language) (데이터 정의 언어)

  • 데이터베이스 구조 정의에 사용하는 언어로, 테이블이나 컬럼 등을 생성, 수정, 삭제한다.
  • DDL은 트랜잭션 발생시키지 않는다.
  • ROLLBACK이나 COMMIT 사용 불가.
  • DDL문은 실행 즉시 MySQL에 적용된다.
  • 데이터베이스의 전체 골격을 구성하는 역할을 한다.

 

[ DDL 종류와 역할 ]

  • CREATE : 새로운 테이블 생성
  • ALTER : 기존 테이블 구조 변경
  • DROP : 기존 테이블 삭제
  • TURNCATE : 기존 테이블 초기화
  • RENAME : 기존 테이블 이름 변경

 


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

  • 데이터베이스에 대한 접근 권한 제어에 사용하는 언어로, 각종 권한을 부여, 회수한다.
  • 권한 권리를 통해 시스템 보안을 유지하는 역할을 한다.

 

[ DCL 종류와 역할 ]

  • GRANT : 유저에게 권한을 부여
  • REVOKE : 유저로부터 권한을 회수

 


TCL(Transaction Control Language) (트랜잭션 제어어)

  • DCL에서 트랜잭션을 컨트롤하는 명령어를 TCL로 분류한다.
  • TCL 개념을 사용하지 않고 명령어 또한 DCL로 분류하는 경우도 있다.

 

[ DCL 종류와 역할 ]

  • COMMIT : 올바르게 완료한 작업으로 인한 데이터를 데이터베이스에 영구적으로 반영
  • ROLLBACK : 작업 시작 이전의 상태로 되돌림
  • SAVEPOINT : 저장점을 지정, 이후 ROLLBACK과 함께 사용하여 특정 지점까지 ROLLBACK 가능