Dùng INSERT INTO ... SELECT ... WHERE. Cú pháp:
INSERT INTO bang2(cot1,cot2,...) SELECT cot1,cot2,... FROM bang1 WHERE dieu_kien;
Tạo bảng 1:
mysql> CREATE TABLE DemoTable1 (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(40)
); Query OK, 0 rows affected (0.88 sec)
Chèn dữ liệu:
mysql> INSERT INTO DemoTable1(Name) VALUES('Chris'); Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable1(Name) VALUES('David'); Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO DemoTable1(Name) VALUES('Bob'); Query OK, 1 row affected (0.12 sec)
Tạo bảng 2:
mysql> CREATE TABLE DemoTable2 (
ClientId INT, ClientFirstName VARCHAR(20)
); Query OK, 0 rows affected (0.60 sec)
Chèn từ bảng 1 sang bảng 2, loại trừ Id=2:
mysql> INSERT INTO DemoTable2(ClientId,ClientFirstName) SELECT Id, Name FROM DemoTable1 WHERE Id != 2; Query OK, 2 rows affected (0.17 sec)
Kết quả bảng 2:
+----------+-----------------+ | ClientId | ClientFirstName | +----------+-----------------+ | 1 | Chris | | 3 | Bob | +----------+-----------------+ 2 rows in set (0.00 sec)