본문 바로가기
데이터분석/SQL

MySQL CREATE, INSERT, ALTER 문법 모음

by 코듀킹 2024. 11. 7.

MySQL의 여러가지 CREATE, INSERT, ALTER 문법을 소개하는 문서이다.

 

1. 테이블 생성

CREATE TABLE DB명.테이블명
(
    [컬럼1] [데이터 타입], -- ex) INT
    [컬럼2] [데이터 타입], -- ex) VARCHAR(30)
	[컬럼3] [데이터 타입], -- ex) DATE
	PRIMARY KEY ([컬럼1]));

 

참고로 primary key를 2 설정하는 것도 가능하다.

CREATE TABLE DB명.테이블명
(
    [컬럼1] [데이터 타입], -- ex) INT
    [컬럼2] [데이터 타입], -- ex) VARCHAR(30)
	[컬럼3] [데이터 타입], -- ex) DATE
	PRIMARY KEY ([컬럼1], [컬럼2]));

 


2. 기존 테이블에 새로운 컬럼 추가

ALTER TABLE [테이블명]
ADD COLUMN [추가시킬컬럼명] [데이터 타입];

 

 

3.  upsert 방식으로 데이터 입력

ON DUPLICATE KEY UPDATE에는 primary key인 컬럼을 제외하고, 입력해야한다. primary key가 똑같은 데이터가 입력됐을 때는 나머지 데이터(아래 예시에서는 컬럼2, 컬럼3)를 update하고, primary key가 다른 데이터가 입력됐을 때는 새로운 데이터가 insert 됨. 그래서 primary key를 잘 지정해야한다.

INSERT INTO 테이블명 (
    [컬럼1], [컬럼2], [컬럼3]) 
VALUES (%s, %s, %s)
ON DUPLICATE KEY UPDATE
    [컬럼2]=VALUES([컬럼2]),
    [컬럼3]=VALUES([컬럼3]);

 

 

 

4. PK 바꾸기

먼저 기존 primary key를 해제시켜야한다.

ALTER TABLE [테이블명] DROP PRIMARY KEY;

 

primary key를 해제시키면 아래 이미지와 같이 Columns에 볼트체 글씨체가 사라진다.

 

그리고 나서 primary key로 지정할 컬럼을 입력한다.

ALTER TABLE 테이블명 ADD PRIMARY KEY ([컬럼1], [컬럼2]);

 

 

5. column 타입 바꾸기

ALTER TABLE [테이블명]
MODIFY COLUMN [컬럼명] [바꿀 데이터 타입];



6. 데이터를 다른 테이블로 복사 후, 프라이머리키 다시 지정, 컬럼 삭제

먼저 테이블 구조를 복사한다.

CREATE TABLE [테이블2] LIKE [테이블1];

 

 

그 후, 새로운 테이블에 기존 테이블의 데이터를 삽입한다.

INSERT INTO [테이블2]
SELECT * 
FROM [테이블1];

 

 

7. column 이름 바꾸기

ALTER TABLE [테이블명]
CHANGE COLUMN [기존컬럼명] [새컬럼명] [데이터타입];

댓글