아래 구문을 사용하여 삽입, 값 및 선택 문을 결합할 수 있습니다.
insert into yourFirstTableName(yourColumnName1,yourColumnName2,.......N) select yourColumnName1,yourColumnName2,.......N from yourSecondTableName where yourCondition;에 삽입
위의 구문을 이해하기 위해 첫 번째 테이블이 두 번째 테이블에서 레코드를 가져오는 두 개의 테이블을 생성해 보겠습니다.
레코드가 없는 첫 번째 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.
mysql> create table CombiningInsertValuesSelect -> ( -> EmployeeId varchar(10), -> EmployeeName varchar(100), -> EmployeeAge int -> ); Query OK, 0 rows affected (6.95 sec)
이제 일부 레코드가 있는 두 번째 테이블을 만들 수 있습니다. 테이블 생성 쿼리는 다음과 같습니다.
mysql> create table getAllValues -> ( -> Id varchar(100), -> Name varchar(100), -> Age int -> ); Query OK, 0 rows affected (1.12 sec)
삽입 명령을 사용하여 이름이 'getAllValues'인 두 번째 테이블에 레코드를 삽입합니다. 쿼리는 다음과 같습니다
mysql> insert into getAllValues values('EMP-1','John',26); Query OK, 1 row affected (0.86 sec) mysql> insert into getAllValues values('EMP-2','Carol',22); Query OK, 1 row affected (0.36 sec) mysql> insert into getAllValues values('EMP-3','Sam',24); Query OK, 1 row affected (0.28 sec) mysql> insert into getAllValues values('EMP-4','David',27); Query OK, 1 row affected (0.25 sec) mysql> insert into getAllValues values('EMP-5','Bob',21); Query OK, 1 row affected (0.75 sec)
이제 select 문을 사용하여 테이블의 모든 레코드를 표시할 수 있습니다. 쿼리는 다음과 같습니다
mysql> select *from getAllValues;
다음은 출력입니다.
+-------+-------+------+ | Id | Name | Age | +-------+-------+------+ | EMP-1 | John | 26 | | EMP-2 | Carol | 22 | | EMP-3 | Sam | 24 | | EMP-4 | David | 27 | | EMP-5 | Bob | 21 | +-------+-------+------+ 5 rows in set (0.00 sec)
다음은 MySQL에서 삽입, 값 및 선택의 사용입니다. 쿼리는 다음과 같습니다
mysql> insert into CombiningInsertValuesSelect(EmployeeId,EmployeeName,EmployeeAge) -> select Id,Name,Age from getAllValues where Id='EMP-4'; Query OK, 1 row affected (0.23 sec) Records: 1 Duplicates: 0 Warnings: 0
이제 레코드가 테이블에 있는지 또는 select 문을 사용하지 않는지 확인하십시오. 쿼리는 다음과 같습니다
mysql> select *from CombiningInsertValuesSelect;
다음은 출력입니다.
+------------+--------------+-------------+ | EmployeeId | EmployeeName | EmployeeAge | +------------+--------------+-------------+ | EMP-4 | David | 27 | +------------+--------------+-------------+ 1 row in set (0.00 sec)