MySQL 생성, FK지정, 마이그레이션

5w31892p·2023년 10월 20일
0

1. 테이블 생성

create table 테이블명 (    
  필드명 DATETYPE 제약사항 AUTO_INCREMENT PRIMARY KEY comment '필드설명',
  ...
  ) 
comment '테이블설명' engine=innodb DEFAULT CHARSET=utf8mb4;

2. FK 지정

ALTER TABLE 테이블명
ADD CONSTRAINT fk이름지정
FOREIGN KEY (fk로 지정할 필드명) REFERENCES fk지정할_필드가_있는_테이블명(fk로_지정할_필드명);

3. 마이그레이션

INSERT INTO 새로운_테이블명
SELECT 기존_테이블_필드명, ... -- 새로운 테이블명 필드 순서와 맞게 지정
FROM 기존_테이블명;

-- 데이터의 값들을 전체적으로 바꿔서 마이그레이션 해야하는 경우
INSERT INTO 새로운_테이블명
SELECT 기존_테이블_필드명 
CASE WHEN 기존_테이블_필드명='변경될데이터값' THEN '변경할데이터값' ELSE '변경할데이터값2' END, 
STR_TO_DATE(기존_테이블_필드명, '%Y/%m/%d %H:%i:%s') -- 날짜 변경의 경우 예시
FROM 기존_테이블명;

0개의 댓글