>데이터 베이스 >MySQL 튜토리얼 >MySQL 선택 결과를 삽입하시겠습니까? 가능합니까?

MySQL 선택 결과를 삽입하시겠습니까? 가능합니까?

王林
王林앞으로
2023-09-11 16:29:071092검색

插入 MySQL select 的结果?是否可以?

선택 결과를 삽입할 때마다 값을 사용할 필요가 없습니다. select 결과를 삽입하기 위해 먼저 두 개의 테이블을 생성합니다.

첫 번째 테이블 쿼리는 다음과 같습니다. -

< FirstTableDemo>
mysql> create table FirstTableDemo
   &minus;> (
   &minus;> StudentId int,
   &minus;> StudentName varchar(100)
   &minus;> );
Query OK, 0 rows affected (0.41 sec)

이제 두 번째 테이블을 생성한 후 INSERT SELECT 명령을 사용하여 두 번째 테이블의 레코드를 첫 번째 테이블에 삽입합니다.

두 번째 테이블을 생성하는 쿼리는 다음과 같습니다.

<SecondTableDemo>

mysql> create table SecondTableDemo
   &minus;> (
   &minus;> Id int,
   &minus;> Name varchar(100)
   &minus;> );
Query OK, 0 rows affected (0.47 sec)

테이블에 레코드를 삽입하려면 insert 명령을 사용하세요. 쿼리는 다음과 같습니다. −

mysql> insert into SecondTableDemo values(1,&#39;John&#39;);
Query OK, 1 row affected (0.14 sec)

mysql> insert into SecondTableDemo values(2,&#39;Sam&#39;);
Query OK, 1 row affected (0.27 sec)

이제 두 번째 테이블에는 두 개의 레코드가 있습니다. select 문을 이용하여 테이블의 모든 레코드를 조회하는 쿼리는 다음과 같습니다-

mysql> select *from SecondTableDemo;

다음은 출력입니다-

+------+------+
| Id   | Name |
+------+------+
|    1 | John |
|    2 | Sam  |
+------+------+
2 rows in set (0.00 sec)

INSERT SELECT 문을 사용하여 두 번째 테이블의 모든 레코드를 첫 번째 테이블에 삽입합니다-

mysql> insert into FirstTableDemo(StudentId,StudentName)
   &minus;> select Id,Name from SecondTableDemo as tbl1
   &minus;> where tbl1.Id not in (select StudentId from FirstTableDemo);
Query OK, 2 rows affected (0.57 sec)
Records: 2 Duplicates: 0 Warnings: 0

이제 두 테이블의 모든 레코드가 첫 번째 테이블에 삽입됩니다. select 문을 사용하여 교차 확인해 보겠습니다. 쿼리는 다음과 같습니다. −

mysql> select *from FirstTableDemo;

다음은 출력입니다. −

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
|         1 | John        |
|         2 | Sam         |
+-----------+-------------+
2 rows in set (0.00 sec)

위 내용은 MySQL 선택 결과를 삽입하시겠습니까? 가능합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제