Đối với điều này, bạn có thể 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 DemoTable1900 ( ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY, ClientName varchar(20), ClientAge int default 29 ) auto_increment=1000; Query OK, 0 rows affected (0.00 sec)
Chèn một số bản ghi vào bảng bằng lệnh chèn -
mysql> insert into DemoTable1900(ClientName,ClientAge) values('Chris',45); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1900(ClientName,ClientAge) values('David',29); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1900(ClientName,ClientAge) values('Mike',37); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1900(ClientName) values('Sam'); Query OK, 1 row affected (0.00 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 DemoTable1900;
Điều này sẽ tạo ra kết quả sau -
+----------+------------+-----------+ | ClientId | ClientName | ClientAge | +----------+------------+-----------+ | 1000 | Chris | 45 | | 1001 | David | 29 | | 1002 | Mike | 37 | | 1003 | Sam | 29 | +----------+------------+-----------+ 4 rows in set (0.00 sec)
Đây là truy vấn để tạo bảng thứ hai -
mysql> create table DemoTable1901 ( EmployeeId int, EmployeeName varchar(20), EmployeeAge int ); Query OK, 0 rows affected (0.00 sec)
Đây là truy vấn để sao chép bản ghi từ bảng này sang bảng khác với các cột khác nhau -
mysql> insert into DemoTable1901(EmployeeId,EmployeeName,EmployeeAge) select ClientId,ClientName, ClientAge from DemoTable1900; Query OK, 4 rows affected (0.00 sec) Records: 4 Duplicates: 0 Warnings: 0
Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -
mysql> select * from DemoTable1901;
Điều này sẽ tạo ra kết quả sau -
+------------+--------------+-------------+ | EmployeeId | EmployeeName | EmployeeAge | +------------+--------------+-------------+ | 1000 | Chris | 45 | | 1001 | David | 29 | | 1002 | Mike | 37 | | 1003 | Sam | 29 | +------------+--------------+-------------+ 4 rows in set (0.00 sec)