SQL INSERT INTO SELECT 문
SQL을 사용하면 다른 하나의 테이블에서 정보를 복사 할 수 있습니다.
기존 테이블에 데이터를 테이블에서 데이터를 복사 한 다음 삽입 SELECT INTO 문 INSERT.
SQL INSERT INTO SELECT 문
기존 테이블에 데이터를 테이블에서 데이터를 복사 한 다음 삽입 SELECT INTO 문 INSERT. 테이블을 이미 영향을받지 않습니다 존재하는 행을 타겟팅합니다.
SQL INSERT INTO SELECT 구문
우리는 기존의 다른 테이블에 테이블의 모든 열을 복제 할 수 있습니다 :
INSERT INTO table2
SELECT * FROM table1;
SELECT * FROM table1;
아니면 우리는 또 다른 기존의 테이블에 원하는 열을 복사 할 수 있습니다 :
INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;
(column_name(s))
SELECT column_name(s)
FROM table1;
데모 데이터베이스
이 튜토리얼에서, 우리는 w3big 샘플 데이터베이스를 사용합니다.
다음은 선택 "웹 사이트"의 테이블 데이터이다 :
+----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 3 | 本教程 | http://www.w3big.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND | +----+---------------+---------------------------+-------+---------+
다음은 "응용 프로그램"APP 데이터는 다음과 같습니다
mysql> SELECT * FROM apps; +----+------------+-------------------------+---------+ | id | app_name | url | country | +----+------------+-------------------------+---------+ | 1 | QQ APP | http://im.qq.com/ | CN | | 2 | 微博 APP | http://weibo.com/ | CN | | 3 | 淘宝 APP | https://www.taobao.com/ | CN | +----+------------+-------------------------+---------+ 3 rows in set (0.00 sec)
SQL INSERT INTO SELECT 예
복사 된 데이터는 "앱"의 "웹 사이트"에 삽입 :
예
INSERT INTO Websites (name, country)
SELECT app_name, country FROM apps;
SELECT app_name, country FROM apps;
APP의 QQ 만 복잡한의 "웹 사이트"에 :
예
INSERT INTO Websites (name, country)
SELECT app_name, country FROM p
WHERE id=1;
SELECT app_name, country FROM p
WHERE id=1;