DDL (Data Definition Language)
DDL은 데이터베이스의 구조를 정의하고 관리하는 데 사용됩니다. DDL 명령어는 데이터베이스, 테이블, 인덱스, 뷰 등의 데이터베이스 객체를 생성, 수정, 삭제하는 데 사용됩니다.
주요 DDL 명령어
- CREATE: 새로운 데이터베이스 객체를 생성합니다.
- ALTER: 기존 데이터베이스 객체를 수정합니다.
- DROP: 데이터베이스 객체를 삭제합니다.
- 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 명령어
- SELECT: 데이터베이스에서 데이터를 조회합니다.
- INSERT: 데이터베이스에 새로운 데이터를 삽입합니다.
- UPDATE: 기존 데이터를 수정합니다.
- 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 명령어는 트랜잭션 내에서 수행되며, 커밋하거나 롤백할 수 있습니다.
'Everyday Study' 카테고리의 다른 글
2024.08.01 (목) { 메이크파일, 정규화, CI/CD, null값과 0과 공백 } (0) | 2024.08.01 |
---|---|
2024.07.31 (수) { 행(Row)과 열(Column), git clone, 깃허브시험 } (0) | 2024.07.31 |
2024.07.29 (월) { Maven, POM 파일, cascade, @Entity } (0) | 2024.07.29 |
2024.07.26 (금) {깃 명령어, 깃 용어정의 } (0) | 2024.07.26 |
2024.07.25 (목) { 원격저장소 연결, 트래킹브랜치, git push, git pull } (0) | 2024.07.25 |