MySQL CHÈN VÀO Câu lệnh CHỌN
MySQL INSERT INTO SELECT Statement
Câu INSERT INTO SELECT
lệnh 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 INSERT INTO SELECT
lệnh yêu cầu các 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 đích không bị ảnh hưởng.
CHÈN VÀO Cú pháp CHỌN
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ừ một bảng sang một 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à 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 INSERT INTO SELECT Ví dụ
Câu lệnh SQL sau 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):
Thí dụ
INSERT INTO Customers (CustomerName,
City, Country)
SELECT SupplierName, City, Country FROM Suppliers;
Câu lệnh SQL sau sao chép "Nhà cung cấp" thành "Khách hàng" (điền vào tất cả các cột):
Thí 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ủa Đức vào "Khách hàng":
Thí dụ
INSERT INTO Customers (CustomerName,
City, Country)
SELECT SupplierName, City, Country FROM Suppliers
WHERE Country='Germany';