SQL - DML, DDL, DCL

CODE0227·2025년 3월 17일

SQL

목록 보기
4/6

1️⃣ DML(Data Manipulation Language, 데이터 조작 언어)

(1) 정의

  • DML은 데이터베이스에 저장된 데이터를 조작하는 데 사용되는 명령어이다.
  • 데이터를 추가, 수정, 삭제하거나 조회하는 데 초점이 맞춰져 있다.

(2) 주요 명령어

  • SELECT : 데이터베이스에서 데이터를 조회 (예: SELECT * FROM users;)
  • INSERT: 새로운 데이터를 테이블에 추가 (예: INSERT INTO users (name, age) VALUES ('홍길동', 25);)
  • UPDATE: 기존 데이터를 수정 (예: UPDATE users SET age = 26 WHERE name = '홍길동';)
  • DELETE: 데이터를 삭제 (예: DELETE FROM users WHERE name = '홍길동';)

(3) 특징

  • DML은 데이터 자체를 조작하며, 테이블 구조는 변경하지않는 언어이다.

2️⃣ DDL (Data Definition Language, 데이터 정의 언어)

(1) 정의

  • DDL은 데이터베이스나 테이블의 구조를 정의하고 관리하는 데 사용되는 명령어 이다.
  • 테이블 생성, 수정, 삭제 등 데이터베이스의 스키마를 다룬다.

(2) 주요 명령어

  • CREATE: 새로운 테이블이나 데이터베이스를 생성 (예: CREATE TABLE users (id INT, name VARCHAR(50));)
  • ALTER: 기존 테이블의 구조를 수정 (예: ALTER TABLE users ADD COLUMN email VARCHAR(100);)
  • DROP: 테이블이나 데이터베이스를 삭제 (예: DROP TABLE users;)
  • TRUNCATE: 테이블의 모든 데이터를 삭제하되 구조는 유지 (예: TRUNCATE TABLE users;)

(3) 특징

  • DDL 명령어는 실행 시 자동으로 커밋(Commit)되며, 롤백(Rollback)이 불가능한 경우가 많다.

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

(1) 정의

  • DCL은 데이터베이스에 대한 접근 권한을 제어하고 보안을 관리하는 데 사용되는 명령어이다.
  • 주로 사용자 권한 설정에 관련되어있다.

(2) 주요 명령어

  • GRANT: 특정 사용자에게 권한을 부여 (예: GRANT SELECT ON users TO 'user1';)
  • REVOKE: 부여된 권한을 취소 (예: REVOKE SELECT ON users FROM 'user1';)

(3) 특징

  • 데이터베이스 관리자가 주로 사용하며, 데이터나 구조를 직접 조작하지 않고 권한을 다룬다.

4️⃣ 요약

  • DML: 데이터 조작 (조회, 추가, 수정, 삭제)
  • DDL: 데이터베이스 구조 정의 (생성, 수정, 삭제)
  • DCL: 접근 권한 제어 (부여, 취소)

5️⃣ 결론

SQL의 세 가지 주요 구성 요소인 DML, DDL, DCL이 있다. DML은 데이터의 조작을 담당하며 데이터베이스의 실질적인 활용을 가능하게 하고, DDL은 데이터베이스 구조를 정의하며 시스템의 기반을 형성한다. DCL은 권한 관리를 통해 데이터베이스의 보안성과 접근성을 유지하는 데 기여한다. 이러한 요소들은 상호보완적으로 작용하여 데이터베이스 관리의 효율성과 안정성을 보장한다.

profile
CODE0227

0개의 댓글