MySQL INSERT INTO SELECT Statement

MySQL இல் INSERT INTO SELECT அறிக்கையைப் பயன்படுத்தி ஒரு அட்டவணையிலிருந்து மற்றொரு அட்டவணைக்கு தரவை நகலெடுக்க கற்றுக்கொள்ளுங்கள்

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';

பயிற்சி

SQL INSERT INTO SELECT அறிக்கையின் நோக்கம் என்ன?

ஒரு அட்டவணையிலிருந்து தரவை நகலெடுத்து அதை மற்றொரு அட்டவணையில் செருக
✓ சரி! INSERT INTO SELECT அறிக்கை ஒரு அட்டவணையிலிருந்து தரவை நகலெடுத்து அதை மற்றொரு அட்டவணையில் செருகப் பயன்படுகிறது
ஒரு அட்டவணையிலிருந்து வரிசைகளை நீக்கி அவற்றை மற்றொரு அட்டவணையில் செருக
✗ தவறு! INSERT INTO SELECT வரிசைகளை நீக்காது, அது தரவை நகலெடுக்கும் மட்டுமே
ஒரு சப்குவரியில் எந்தவொரு பதிவின் இருப்பையும் சோதிக்க
✗ தவறு! இது EXISTS ஆபரேட்டரின் நோக்கம்
இரண்டு அல்லது அதற்கு மேற்பட்ட அட்டவணைகளிலிருந்து வரிசைகளை தொடர்புடைய நெடுவரிசையின் அடிப்படையில் இணைக்க
✗ தவறு! இது JOIN கிளாஸின் நோக்கம்