Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 사용되는 SQL 명령어 종류 완벽 정리: DML, DDL, DCL, TCL

SQL 언어는 크게 DML, DDL, DCL, TCL이라는 네 가지 기본 문장 유형으로 나뉩니다. 이러한 문장들을 활용하면 데이터베이스 객체를 생성하고 수정하여 데이터베이스의 구조를 정의할 수 있으며, 업데이트나 삭제 작업을 통해 테이블 내 데이터를 조작할 수 있습니다. 또한 특정 사용자가 데이터를 읽거나 쓸 수 있는 권한을 제어하고, 여러 작업을 하나의 단위로 묶어 트랜잭션을 관리하는 것도 가능합니다.

SQL 문장의 네 가지 주요 범주를 하나씩 자세히 살펴보겠습니다.

1. DML (Data Manipulation Language, 데이터 조작어)

DML 문장은 테이블의 실제 레코드(데이터)에 영향을 미치는 명령어입니다. 테이블에서 원하는 레코드를 조회하거나, 새로운 레코드를 추가하고, 불필요한 레코드를 삭제하며, 기존 레코드를 수정하는 등 데이터에 대해 수행하는 가장 기본적인 작업들이 여기에 해당합니다.

DML에 속하는 대표적인 명령어는 다음과 같습니다.

  • SELECT – 테이블에서 원하는 레코드를 조회합니다.
  • INSERT – 테이블에 새로운 레코드를 삽입합니다.
  • UPDATE – 기존 레코드를 갱신하거나 수정합니다.
  • DELETE – 기존 레코드를 삭제합니다.

2. DDL (Data Definition Language, 데이터 정의어)

DDL 문장은 데이터베이스나 테이블의 구조 및 스키마를 생성·변경하는 데 사용됩니다. 즉, 데이터 그 자체보다는 데이터가 저장될 틀(구조)을 설계하고 관리하는 역할을 담당합니다.

  • CREATE – 새로운 테이블, 데이터베이스, 스키마를 생성합니다.
  • ALTER – 기존 테이블이나 컬럼의 정의(설명)를 변경합니다.
  • DROP – 데이터베이스에서 기존 객체를 삭제합니다.

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

DCL 문장은 사용자가 데이터베이스 객체에 대해 어느 수준까지 접근할 수 있는지를 제어합니다. 보안과 권한 관리에 필수적인 명령어들입니다.

  • GRANT – 특정 데이터베이스 객체에 대한 읽기/쓰기 권한을 사용자에게 부여합니다.
  • REVOKE – 사용자에게 부여된 읽기/쓰기 권한을 회수합니다.

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

TCL 문장은 트랜잭션을 제어하고 관리함으로써 SQL 문장 처리 과정에서 데이터의 무결성(integrity)을 유지할 수 있도록 도와줍니다. 여러 작업을 하나의 논리적 작업 단위로 묶어 처리할 때 반드시 필요한 명령어들입니다.

  • BEGIN TRANSACTION – 새로운 트랜잭션을 시작합니다.
  • COMMIT TRANSACTION – 트랜잭션의 모든 변경 사항을 확정(커밋)합니다.
  • ROLLBACK TRANSACTION – 오류가 발생했을 경우 트랜잭션을 이전 상태로 되돌립니다.

이처럼 SQL 명령어는 용도에 따라 네 가지 범주로 체계적으로 분류됩니다. 각 명령어의 역할을 정확히 이해하면 MySQL에서 데이터베이스를 더욱 효율적이고 안전하게 운영할 수 있습니다.