Câu lệnh CHÈN VÀO CHỌN của MySQL
Câu lệnh INSERT INTO SELECT của MySQL
Câu lệnh INSERT INTO SELECT
sao chép dữ liệu từ một bảng và chèn nó vào một bảng khác.
Câu lệnh INSERT INTO SELECT
yêu cầu kiểu dữ liệu trong bảng nguồn và bảng đích phải khớp nhau.
Lưu ý: Các bản ghi hiện có trong bảng mục tiêu không bị ảnh hưởng.
CHÈN VÀO CHỌN Cú pháp
Sao chép tất cả các cột từ bảng này sang bảng khác:
INSERT INTO table2
SELECT * FROM table1
WHERE condition ;
Chỉ sao chép một số cột từ bảng này sang bảng khác:
INSERT INTO table2 ( column1 , column2 , column3 , ...)
SELECT column1 , column2 , column3 , ...
FROM table1
WHERE condition ;
Cơ sở dữ liệu demo
Trong hướng dẫn này, chúng tôi sẽ sử dụng cơ sở dữ liệu mẫu Northwind nổi tiếng.
Dưới đây là lựa chọn từ bảng "Khách hàng":
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
Và một lựa chọn từ bảng "Nhà cung cấp":
SupplierID | SupplierName | ContactName | Address | City | Postal Code | Country |
---|---|---|---|---|---|---|
1 | Exotic Liquid | Charlotte Cooper | 49 Gilbert St. | Londona | EC1 4SD | UK |
2 | New Orleans Cajun Delights | Shelley Burke | P.O. Box 78934 | New Orleans | 70117 | USA |
3 | Grandma Kelly's Homestead | Regina Murphy | 707 Oxford Rd. | Ann Arbor | 48104 | USA |
MySQL CHÈN VÀO CHỌN Ví dụ
Câu lệnh SQL sau đây sao chép “Nhà cung cấp” thành “Khách hàng” (các cột không chứa dữ liệu sẽ chứa NULL):
Ví dụ
INSERT INTO Customers (CustomerName,
City, Country)
SELECT SupplierName, City, Country FROM Suppliers;
Câu lệnh SQL sau đây sao chép “Nhà cung cấp” thành “Khách hàng” (điền vào tất cả các cột):
Ví dụ
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode,
Country)
SELECT SupplierName, ContactName, Address, City, PostalCode,
Country FROM Suppliers;
Câu lệnh SQL sau chỉ sao chép các nhà cung cấp ở Đức vào "Khách hàng":
Ví dụ
INSERT INTO Customers (CustomerName,
City, Country)
SELECT SupplierName, City, Country FROM Suppliers
WHERE Country='Germany';