본문 바로가기
Everyday Study

2024.07.30 (화) { DDL / DML }

by xogns93 2024. 7. 30.

DDL (Data Definition Language)

 

DDL은 데이터베이스의 구조를 정의하고 관리하는 데 사용됩니다. DDL 명령어는 데이터베이스, 테이블, 인덱스, 뷰 등의 데이터베이스 객체를 생성, 수정, 삭제하는 데 사용됩니다.

주요 DDL 명령어

  1. CREATE: 새로운 데이터베이스 객체를 생성합니다.
  2. ALTER: 기존 데이터베이스 객체를 수정합니다.
  3. DROP: 데이터베이스 객체를 삭제합니다.
  4. TRUNCATE: 테이블의 모든 데이터를 삭제하지만, 테이블 구조는 유지합니다.

 

예제 :

-- 데이터베이스 생성
CREATE DATABASE mydatabase;

-- 테이블 생성
CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50),
    email VARCHAR(50)
);

-- 테이블 수정 (컬럼 추가)
ALTER TABLE users ADD COLUMN age INT;

-- 테이블 삭제
DROP TABLE users;

-- 테이블 데이터 삭제 (구조 유지)
TRUNCATE TABLE users;

 

 

DML (Data Manipulation Language)

 

DML은 데이터베이스의 데이터를 조작하는 데 사용됩니다. DML 명령어는 데이터를 삽입, 수정, 삭제, 조회하는 데 사용됩니다.

 

주요 DML 명령어

  1. SELECT: 데이터베이스에서 데이터를 조회합니다.
  2. INSERT: 데이터베이스에 새로운 데이터를 삽입합니다.
  3. UPDATE: 기존 데이터를 수정합니다.
  4. DELETE: 데이터를 삭제합니다.

 

예제 :

-- 데이터 삽입
INSERT INTO users (name, email, age) VALUES ('John Doe', 'john.doe@example.com', 30);

-- 데이터 조회
SELECT * FROM users;

-- 데이터 수정
UPDATE users SET email = 'john.doe@newdomain.com' WHERE id = 1;

-- 데이터 삭제
DELETE FROM users WHERE id = 1;

 

 

 

DDL과 DML의 차이점

  • 기능: DDL은 데이터베이스의 구조를 정의하고 관리하는 데 사용되며, DML은 데이터베이스의 데이터를 조작하는 데 사용됩니다.
  • 영향 범위: DDL 명령어는 데이터베이스 객체의 정의를 변경하므로 데이터베이스 스키마에 영향을 미치지만, DML 명령어는 데이터베이스 내의 데이터에만 영향을 미칩니다.
  • 트랜잭션: 대부분의 데이터베이스 시스템에서 DDL 명령어는 자동으로 커밋되며, 롤백할 수 없습니다. 반면 DML 명령어는 트랜잭션 내에서 수행되며, 커밋하거나 롤백할 수 있습니다.