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 [기존컬럼명] [새컬럼명] [데이터타입];
'데이터분석 > SQL' 카테고리의 다른 글
쿼리 최적화 (1) | 2024.11.07 |
---|---|
파이썬 퀀트투자(4): 한국거래소 데이터 Mysql에 적재 (5) | 2024.10.10 |
[해커랭크] SQL 심화 응용 팁들 (1) | 2024.09.24 |
MySQL 다운로드 및 설치하는 방법 (1) | 2024.03.10 |
[BigQuery] 신규사용자가 첫 접속날짜에 남긴 이벤트만 필터링 (0) | 2024.02.25 |
댓글