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

데이터베이스 언어의 종류와 핵심 명령어 총정리

데이터베이스 언어(Database Language)는 데이터베이스에 저장된 데이터를 읽고, 갱신하고, 조작하고, 저장하기 위해 사용되는 전용 언어입니다. SQL을 비롯한 대부분의 데이터베이스 언어는 역할에 따라 크게 네 가지로 분류됩니다.

  • 데이터 정의어 (DDL: Data Definition Language)
  • 데이터 조작어 (DML: Data Manipulation Language)
  • 데이터 제어어 (DCL: Data Control Language)
  • 트랜잭션 제어어 (TCL: Transaction Control Language)

각 언어가 어떤 역할을 하고 어떤 명령어를 포함하는지 하나씩 자세히 살펴보겠습니다.

1. 데이터 정의어 (DDL)

DDL은 이름 그대로 데이터베이스의 구조(스키마)를 정의하는 언어입니다. 데이터베이스나 테이블을 새로 생성하거나, 구조를 변경하고, 삭제할 때 사용합니다. 테이블 이름을 바꾸는 작업도 DDL에 포함됩니다.

대표적인 DDL 명령어는 다음과 같습니다.

  • CREATE: 새로운 데이터베이스, 테이블 등을 생성합니다.
  • ALTER: 기존 데이터베이스나 테이블의 구조를 변경합니다.
  • DROP: 데이터베이스나 테이블을 완전히 삭제합니다.
  • RENAME: 테이블에 새로운 이름을 부여합니다.

참고로 DDL 명령은 실행 즉시 반영(자동 커밋)되기 때문에, 실무에서는 DROP이나 ALTER를 사용할 때 특히 주의해야 합니다.

2. 데이터 조작어 (DML)

DML은 정의된 테이블 속 데이터를 직접 다루는 언어입니다. 데이터를 삽입하거나 수정하고, 원하는 레코드를 조회하거나 삭제하는 등 일상적으로 가장 많이 사용되는 명령어들이 여기에 속합니다.

  • SELECT: 데이터베이스에서 데이터를 조회(검색)합니다.
  • INSERT: 테이블에 새로운 데이터를 삽입합니다.
  • UPDATE: 기존 데이터를 수정합니다.
  • DELETE: 테이블의 레코드를 삭제합니다.

SELECT는 데이터를 변경하지 않고 읽기만 하므로 별도로 질의어(Query Language)로 분류하기도 합니다.

3. 데이터 제어어 (DCL)

DCL은 사용자에게 접근 권한을 부여하거나 회수하는 언어입니다. 보안과 접근 제어가 중요한 실무 환경에서 필수적인 역할을 담당합니다.

  • GRANT: 사용자에게 데이터베이스 접근 권한을 부여합니다.
  • REVOKE: 부여했던 접근 권한을 회수합니다.

예를 들어 GRANT 문으로 특정 사용자에게 SELECT 권한을 준 뒤, 더 이상 필요하지 않으면 REVOKE 문으로 권한을 되돌릴 수 있습니다.

4. 트랜잭션 제어어 (TCL)

TCL은 데이터베이스 내 트랜잭션을 관리하는 언어입니다. 여러 작업을 하나의 논리적 단위로 묶어 처리할 때, 작업 결과를 확정하거나 이전 상태로 되돌리는 데 사용됩니다.

  • COMMIT: 지금까지 수행한 작업을 영구적으로 저장합니다.
  • SAVEPOINT: 트랜잭션 안에 저장 지점을 설정하여, 나중에 해당 지점까지만 롤백할 수 있게 합니다.
  • ROLLBACK: 마지막 COMMIT 시점 이후의 작업을 취소하고 이전 상태로 복원합니다.

마무리

데이터베이스 언어는 DDL(구조 정의) → DML(데이터 조작) → DCL(권한 관리) → TCL(트랜잭션 관리)의 네 가지 범주로 나눌 수 있습니다. 각 언어의 역할과 대표 명령어를 정확히 이해해 두면, SQL 학습은 물론 데이터베이스 설계와 운영 전반에서 큰 도움이 됩니다.