Computer >> Máy Tính >  >> Lập trình >> MySQL

Chèn giá trị vào một bảng bằng MySQL SELECT từ một bảng khác trong MySQL?

Fir này, sử dụng câu lệnh INSERT INTO SELECT. Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable1
   -> (
   -> Id int,
   -> Name varchar(20),
   -> Age int
   -> );
Query OK, 0 rows affected (1.72 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable1 values(100,'Chris',24);
Query OK, 1 row affected (0.61 sec)
mysql> insert into DemoTable1 values(101,'Adam',23);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1 values(102,'John',25);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1 values(103,'Carol',26);
Query OK, 1 row affected (0.26 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select * from DemoTable1;

Điều này sẽ tạo ra kết quả sau -

+------+-------+------+
| Id   | Name | Age |
+------+-------+------+
|  100 | Chris |   24 |
|  101 | Adam  |   23 |
|  102 | John  |   25 |
|  103 | Carol |   26 |
+------+-------+------+
4 rows in set (0.00 sec)

Đây là truy vấn để tạo bảng thứ hai -

mysql> create table DemoTable2
   -> (
   -> EmployeeId int,
   -> EmployeeFirstName varchar(20),
   -> EmployeeAge int
   -> );
Query OK, 0 rows affected (1.63 sec)

Đây là truy vấn để chèn giá trị trong DemoTable2 từ MySQL chọn từ DemoTable1 -

mysql> insert into DemoTable2(EmployeeId,EmployeeFirstName,EmployeeAge) select Id,Name,Age from DemoTable1 where Id=101;
Query OK, 1 row affected (0.17 sec)
Records: 1 Duplicates: 0 Warnings: 0

Hãy để chúng tôi kiểm tra bản ghi bảng -

mysql> select * from DemoTable2;

Đây là truy vấn để tạo bảng thứ hai -

+------------+-------------------+-------------+
| EmployeeId | EmployeeFirstName | EmployeeAge |
+------------+-------------------+-------------+
|        101 | Adam              |          23 |
+------------+-------------------+-------------+
1 row in set (0.00 sec)