Câu lệnh SELECT INTO trong SQL được sử dụng để tạo một bảng mới và sao chép dữ liệu từ một hoặc nhiều bảng có sẵn.
Cú pháp:
--##1 SELECT <column_name> INTO <new_table_name> FROM <existing_table>; --##2 SELECT * INTO newtable [IN externaldb] FROM oldtable WHERE condition; --##3 SELECT column1, column2, column3, ... INTO newtable [IN externaldb] FROM oldtable WHERE condition;
Giải thích:
- SELECT <column_name>: Chọn các cột muốn sao chép từ bảng gốc.
- INTO <new_table_name>: Tên của bảng mới được tạo.
- FROM <existing_table>: Tên của bảng gốc chứa dữ liệu muốn sao chép.
Ví dụ:
--Tạo một bảng mới có tên "Customers_Copy" với các cột "CustomerID", "Name" và "Email" từ bảng "Customers": SELECT CustomerID, Name, Email INTO Customers_Copy FROM Customers; --Tạo một bảng mới có tên "Orders_Details" với tất cả các cột từ bảng "Orders": SELECT * INTO Orders_Details FROM Orders; --Chỉ sao chép cấu trúc bảng mà không kèm dữ liệu của bảng hiện tại SELECT * INTO newtable FROM oldtable WHERE 1 = 0;
Lưu ý:
- Bảng mới được tạo sẽ có cùng cấu trúc (số lượng và kiểu dữ liệu) của các cột được chọn.
- Dữ liệu trong bảng mới sẽ là bản sao của dữ liệu trong bảng gốc.
- Nếu bảng mới đã tồn tại, nó sẽ bị ghi đè.
Ngoài ra, bạn có thể sử dụng câu lệnh SELECT INTO để:
- Sao chép dữ liệu từ nhiều bảng vào một bảng mới.
- Lọc dữ liệu trước khi sao chép vào bảng mới.
- Thêm các cột mới vào bảng mới trong quá trình sao chép.