본문 바로가기

IT/MySQL

MySQL 테이블 생성, 수정, 삭제 (컬럼 추가, 수정, 삭제)

728x90

1. 테이블 생성

기본 테이블 생성

CREATE TABLE customers (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50),
  email VARCHAR(100),
  age INT
);

 

제약 조건이 있는 테이블 생성

CREATE TABLE orders (
  id INT AUTO_INCREMENT PRIMARY KEY,
  customer_id INT,
  product_id INT,
  quantity INT,
  order_date DATE,
  FOREIGN KEY (customer_id) REFERENCES customers(id),
  FOREIGN KEY (product_id) REFERENCES products(id)
);

 

고유한 제약조건 테이블 생성

CREATE TABLE employees (
  id INT AUTO_INCREMENT PRIMARY KEY,
  first_name VARCHAR(50),
  last_name VARCHAR(50),
  salary INT,
  email VARCHAR(100) UNIQUE,
  hire_date DATE
);

 

 

2. 테이블 내 컬럼 수정

컬럼 추가

ALTER TABLE customers ADD phone VARCHAR(20);

 

기본 값이 있는 컬럼 추가

ALTER TABLE customers
ADD COLUMN address VARCHAR(100) DEFAULT 'No Reg';

 

특정 데이터 유형의 컬럼 추가

ALTER TABLE orders
ADD COLUMN order_status ENUM('Pending', 'In Progress', 'Completed');

 

컬럼 수정

ALTER TABLE customers MODIFY age SMALLINT;

 

컬럼 타입 수정

ALTER TABLE employees
MODIFY COLUMN salary DECIMAL(10,2);

 

컬럼 삭제

ALTER TABLE customers DROP COLUMN phone;

 

3. 테이블 명 변경

ALTER TABLE customers RENAME TO clients;
RENAME TABLE customers TO clients;

 

 

4. 테이블 삭제

DROP TABLE customers;

 

제거할 테이블이 있는지 없는지 잘 모르는 경우 아래 쿼리를 이용하여 테이블을 삭제시킬 수 있습니다.

DROP TABLE IF EXISTS orders;

 

5. 테이블 초기화

TRUNCATE TABLE customers;

 

외래키 제약조건으로 인해 데이터가 지워지지 않는 경우 아래 방법을 통해 초기화할 수 있습니다.

SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE TABLE orders;
SET FOREIGN_KEY_CHECKS = 1;

 

 

728x90

'IT > MySQL' 카테고리의 다른 글

MySQL 환경변수 설정  (0) 2020.01.11
Window MySQL 다운로드 및 설치 방법  (0) 2020.01.11