Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Binaryseop

[SQL] SELECT INTO와 INSERT INTO SELECT 설명 및 예제 본문

SQL/DML

[SQL] SELECT INTO와 INSERT INTO SELECT 설명 및 예제

Binaryseop 2021. 10. 17. 22:54

1. SELECT INTO

SELECT INO 문은 기존 테이블의 데이터를 새로운 테이블로 복사합니다.

 

기존에 존재하지 않는 테이블이 새로 생성된다는 특징이 있습니다.

 

SELECT INTO 구문

CREATE TABLE newtable
SELECT * 
FROM oldtable
WHERE condition;

 

· 예제

beverage 테이블에서 종류가 커피인 음료를 찾아 beverage_new 테이블에 넣으세요.

 

· 실행결과

CREATE TABLE beverage_new SELECT * FROM beverage WHERE kind = '커피';
SELECT * FROM beverage_new;

쿼리 실행 결과

2. INSERT INTO SELECT

INSERT INTO SELECT문은 한 테이블의 데이터를 복사하여 다른 테이블에 복사합니다.

 

INSERT INTO SELECT문을 사용하려면 원본 및 대상 테이블의 데이터 형식이 일치해야 합니다.

 

INSERT INTO SELECT 구문

INSERT INTO table2
SELECT * 
FROM table1
WHERE condition;

 

· 예제

beverage 테이블에서 종류가 커피인 음료를 찾아 beverage_coffee 테이블에 넣으세요.

 

· 실행결과

beverage 테이블의 스키마를 DDL로 조회하고 새 테이블을 생성합니다.
SHOW CREATE TABLE beverage;

CREATE TABLE beverage_coffee(
	id INT PRIMARY KEY,
    	name VARCHAR(50) NOT NULL,
    	kind VARCHAR(50) NOT NULL,
    	price INT NOT NULL
)ENGINE=InnoDB CHARSET = utf8mb4;

INSERT INTO beverage_coffee SELECT * FROM beverage WHERE kind = '커피';

SELECT * FROM beverage_coffee;

쿼리 실행 결과