Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Chọn dữ liệu từ bảng này và chèn vào bảng khác trong cùng database MySQL

Để chèn dữ liệu từ bảng này sang bảng khác, hãy sử dụng câu lệnh INSERT INTO ... SELECT. Hãy cùng tạo bảng đầu tiên:

mysql> CREATE TABLE DemoTable1 (
    Id INT,
    FirstName VARCHAR(20),
    Age INT
    ); Query OK, 0 rows affected (0.00 sec)

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

mysql> INSERT INTO DemoTable1 VALUES(101,'Chris',24); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1 VALUES(102,'David',28); Query OK, 1 row affected (0.00 sec)

Hiển thị tất cả bản ghi từ bảng bằng lệnh SELECT:

mysql> SELECT * FROM DemoTable1;

Kết quả sẽ như sau:

+------+-----------+------+
| Id   | FirstName | Age  |
+------+-----------+------+
|  101 | Chris     |   24 |
|  102 | David     |   28 |
+------+-----------+------+
2 rows in set (0.00 sec)

Dưới đây là truy vấn để tạo bảng thứ hai:

mysql> CREATE TABLE DemoTable2 (
    EmployeeId INT,
    EmployeeName VARCHAR(20),
    EmployeeAge INT
    ); Query OK, 0 rows affected (0.00 sec)

Dưới đây là truy vấn để chọn một số dữ liệu từ bảng này và chèn vào bảng khác trong cùng database:

mysql> INSERT INTO DemoTable2(EmployeeId,EmployeeName,EmployeeAge)
    SELECT Id, FirstName, Age FROM DemoTable1 WHERE Id = 102; Query OK, 1 row affected (0.00 sec) Records: 1 Duplicates: 0 Warnings: 0

Hiển thị tất cả bản ghi từ bảng bằng lệnh SELECT:

mysql> SELECT * FROM DemoTable2;

Kết quả sẽ như sau:

+------------+--------------+-------------+
| EmployeeId | EmployeeName | EmployeeAge |
+------------+--------------+-------------+
|        102 | David        |          28 |
+------------+--------------+-------------+
1 row in set (0.00 sec)