DDL
DDL
DDL (data definition language) 데이터베이스의 구조를 정의 하는 언어
- CREATE: 데이터베이스/테이블 생성
- ALTER: 테이블 구조 수정
- DROP: 데이터베이스/테이블 삭제
- TRUNCATE: 테이블 데이터 초기화
데이터 타입 Data Types
테이블을 생성할 때 각 컬럼의 테이터 타입을 지정 한다.
숫자 타입
- INT: 정수 (-21억 ~ 21억)
- e.g. user_id, age, quantity
- BIGINT: 큰 정수
- e.g. account_number
- TINYINT: 작은 정수 (-128~127)
- status(0,1,2)
- DECIMAL(p,s): 고정 소수점 (정확한 계산)
- 전체 자리수는 p. 총 몇 자리까지 저장 가능한지를 의미
- 소수점 이하 자리수는 s
- e.g. price DECIMAL(10, 2)
- DOUBLE: 부동 소수점
문자열 타입
- VARCHAR(n): 가번 길이 문자열 (최대 n자)
- CHAR(n): 고정 길이 문자열
- TEXT: 긴 텍스트
날짜/시간 타입
- DATE: 날짜만
- DATETIME: 날짜 + 시간
- TIMESTAMP: 날짜 + 시간 (자동 갱신)
Create Database
1
CREATE DATABASE 데이터베이스명;
한글 지원 데이터베이스 생성
1
2
CREATE DATABASE test_db
CHARACTER SET utf8mb4
1
2
3
4
5
-- 모든 데이터베이스 목록 조회
SHOW DATABASES;
-- 현재 선택된 데이터베이스 확인
SELECT DATABASE();
Create Table
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CREATE TABLE 테이블명 (
컬럼1 데이터타입 [제약조건],
컬럼2 데이터타입 [제약조건],
...
);
-- 고객 정보 테이블 생성
CREATE TABLE customers (
customer_id INT PRIMARY KEY AUTO_INCREMENT,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE,
active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
제약조건 (Constraints)
- 데이터의 무결성을 보장하는 규칙
- Primary Key: 기본키 (고유 + not null)
- NOT NULL: Null 값 불허
테이블 구조 수정
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
--컬럼 추가
ALTER TABLE customers
ADD COLUMN phone VARCHAR(20);
--컬럼 수정
ALTER TABLE customers
MODIFY COLUMN phone VARCHAR(20) NOT NULL;
--컬럼 이름 변경
ALTER TABLE customers
CHANGE COLUMN phone phone_number VARCHAR(20) NOT NULL;
--컬럼 삭제
ALTER TABLE customers
DROP COLUMN phone_number;
--제약조건 추가
ALTER TABLE customers
ADD CONSTRAINT chk_email
CHECK (email LIKE '%@%');
This post is licensed under CC BY 4.0 by the author.