Để 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)