MySQL VOEG IN SELECT Statement
Die MySQL INSERT INTO SELECT-verklaring
Die INSERT INTO SELECT
stelling kopieer data uit een tabel en voeg dit in 'n ander tabel in.
Die INSERT INTO SELECT
stelling vereis dat die datatipes in bron- en teikentabelle ooreenstem.
Let wel: Die bestaande rekords in die teikentabel word nie aangetas nie.
VOEG IN IN SELECT-sintaksis
Kopieer alle kolomme van een tabel na 'n ander tabel:
INSERT INTO table2
SELECT * FROM table1
WHERE condition;
Kopieer slegs sommige kolomme van een tabel na 'n ander tabel:
INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;
Demo databasis
In hierdie tutoriaal sal ons die bekende Northwind-voorbeelddatabasis gebruik.
Hieronder is 'n keuse uit die "Klante"-tabel:
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 |
En 'n keuse uit die "Verskaffers"-tabel:
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 VOEG IN SELECT Voorbeelde in
Die volgende SQL-stelling kopieer "Verskaffers" na "Klante" (die kolomme wat nie met data gevul is nie, sal NULL bevat):
Voorbeeld
INSERT INTO Customers (CustomerName,
City, Country)
SELECT SupplierName, City, Country FROM Suppliers;
Die volgende SQL-stelling kopieer "Verskaffers" na "Klante" (vul alle kolomme in):
Voorbeeld
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode,
Country)
SELECT SupplierName, ContactName, Address, City, PostalCode,
Country FROM Suppliers;
Die volgende SQL-stelling kopieer slegs die Duitse verskaffers na "Klante":
Voorbeeld
INSERT INTO Customers (CustomerName,
City, Country)
SELECT SupplierName, City, Country FROM Suppliers
WHERE Country='Germany';