MySQL INSERT INTO SELECT அறிக்கை
INSERT INTO SELECT அறிக்கை ஒரு அட்டவணையிலிருந்து தரவை நகலெடுத்து அதை மற்றொரு அட்டவணையில் செருகுகிறது.
INSERT INTO SELECT அறிக்கை மூல மற்றும் இலக்கு அட்டவணைகளில் உள்ள தரவு வகைகள் பொருந்துவதை தேவைப்படுகிறது.
குறிப்பு:
இலக்கு அட்டவணையில் உள்ள ஏற்கனவே உள்ள பதிவுகள் பாதிக்கப்படாது.
INSERT INTO SELECT தொடரியல்
ஒரு அட்டவணையிலிருந்து அனைத்து நெடுவரிசைகளையும் மற்றொரு அட்டவணைக்கு நகலெடுக்கவும்:
INSERT INTO table2
SELECT * FROM table1
WHERE condition;
ஒரு அட்டவணையிலிருந்து சில நெடுவரிசைகளை மட்டும் மற்றொரு அட்டவணைக்கு நகலெடுக்கவும்:
INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;
டெமோ தரவுத்தளம்
இந்த டுடோரியலில் நன்கு அறியப்பட்ட Northwind மாதிரி தரவுத்தளத்தைப் பயன்படுத்துவோம்.
"Customers" அட்டவணையிலிருந்து ஒரு தேர்வு கீழே உள்ளது:
| 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 |
மற்றும் "Suppliers" அட்டவணையிலிருந்து ஒரு தேர்வு:
| 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 எடுத்துக்காட்டுகள்
பின்வரும் SQL கூற்று "Suppliers" ஐ "Customers" க்கு நகலெடுக்கிறது (தரவால் நிரப்பப்படாத நெடுவரிசைகள் NULL ஐக் கொண்டிருக்கும்):
INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country FROM Suppliers;
பின்வரும் SQL கூற்று "Suppliers" ஐ "Customers" க்கு நகலெடுக்கிறது (அனைத்து நெடுவரிசைகளையும் நிரப்புகிறது):
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
SELECT SupplierName, ContactName, Address, City, PostalCode, Country FROM Suppliers;
பின்வரும் SQL கூற்று ஜெர்மன் சப்ளையர்களை மட்டும் "Customers" க்கு நகலெடுக்கிறது:
INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country FROM Suppliers
WHERE Country='Germany';