728x90
이번 글에서는 데이터베이스와 테이블을 생성하고 관리하는 방법을 정리해보고자 한다.
데이터베이스 생성과 관리
데이터 베이스 생성(Create Database)
데이터베이스를 생성할 때는 문자셋과 정렬 규칙을 고려해야한다.
-- 기본 데이터베이스 생성
CREATE DATABASE mydb;
-- 문자셋과 정렬 규칙을 지정한 생성
CREATE DATABASE mydb
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
-- 존재하지 않을 경우에만 생성
CREATE DATABASE IF NOT EXISTS mydb;
데이터베이스 삭제(Drop Database)
데이터베이스를 삭제할 때는 특히 주의가 필요하다.
-- 기본 삭제 구문
DROP DATABASE mydb;
-- 안전한 삭제 구문
DROP DATABASE IF EXISTS mydb;
테이블 생성과 관리
테이블 생성(Create Table)
테이블을 생성할 때는 각 열의 데이터 타입과 제약조건을 신중히 선택해야한다.
CREATE TABLE employees (
id INT PRIMARY KEY AUTO_INCREMENT,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE,
hire_date DATE DEFAULT CURRENT_DATE,
salary DECIMAL(10,2),
department_id INT,
FOREIGN KEY (department_id)
REFERENCES departments(id)
) ENGINE=InnoDB;
위 코드에서 주목할점은
- INT, VARCHAR, DATE 등 적절한 데이터 타입 선택
- PRIMARY KEY로 고유 식별자 지정
- NOT NULL로 필수 필드 표시
- UNIQUE로 중복 방지
- DEFAULT로 기본값 설정
- FOREIGN KEY로 테이블 간 관계 설정
들이 있다!
테이블 삭제(Drop Table)
데이터 손실을 방지하기 위해 신중하게 사용해야한다.
-- 기본 삭제 구문
DROP TABLE employees;
-- 안전한 삭제 구문
DROP TABLE IF EXISTS employees;
테이블 구조 변경(Alter Table)
테이블 구조를 수정할 때는 다양한 작업이 가능하다.
-- 열 추가
ALTER TABLE employees
ADD COLUMN phone VARCHAR(20);
-- 열 수정
ALTER TABLE employees
MODIFY COLUMN phone VARCHAR(30);
-- 열 이름 변경
ALTER TABLE employees
CHANGE phone contact_number VARCHAR(30);
-- 열 삭제
ALTER TABLE employees
DROP COLUMN phone;
-- 외래 키 추가
ALTER TABLE employees
ADD FOREIGN KEY (department_id)
REFERENCES departments(id);
728x90
'SQL' 카테고리의 다른 글
[SQL] MySQL 고급 기능 마스터하기 - CHECK부터 VIEW까지 (0) | 2025.01.09 |
---|---|
[SQL] 데이터 무결성을 위한 필수 요소 - 데이터베이스 제약조건 (0) | 2025.01.09 |
[SQL] SQL 고급 기능 완전 정복 - UNION부터 CASE문까지 (0) | 2025.01.09 |
[SQL] SQL 고급 문법 이해하기 - IN, JOIN, 테이블 관계 활용 (0) | 2025.01.09 |
[SQL] 기본 명령어 마스터하기 - 데이터 조회부터 수정까지 (1) | 2025.01.09 |