MySQL INSERT SELECT
MySQL INSERT INTO SELECT operatori
INSERT INTO SELECT buyrug‘i mavjud jadvaldan ma’lumotlarni nusxalash va uni boshqa mavjud jadvalga kiritish uchun ishlatiladi.
INSERT INTO SELECT buyrug‘i manba va maqsadli jadvallardagi ma’lumotlar turlari mos kelishini talab qiladi.
Eslatma: Maqsadli jadvaldagi mavjud yozuvlar ta’sir qilmaydi.
INSERT INTO SELECT sintaksisi
Barcha ustunlarni bitta jadvaldan boshqa jadvalga nusxalash:
INSERT INTO target_table
SELECT * FROM source_table
WHERE condition;Eslatma: Ustun nomlarini o‘tkazib yuborsangiz, manba va maqsadli jadvallardagi ustunlar soni va tartibi aynan bir xil bo‘lishi kerak!
Bir jadvaldan boshqa jadvalga faqat ba’zi ustunlarni nusxalash:
INSERT INTO target_table (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM source_table
WHERE condition;
Demo ma’lumotlar bazasi
Quyida "Mijozlar" jadvalidan tanlov mavjud:
| Mijoz ID | Mijoz nomi | Kontakt nomi | Manzil | Shahar | Pochta kodi | Mamlakat |
|---|---|---|---|---|---|---|
| 1 |
Alfreds Futterkiste | Mariya Anders | Obere ko‘chasi. 57 | Berlin | 12209 | Germaniya |
| 2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Konstitutsiya 2222 | Meksika D.F. | 05021 | Meksika |
| 3 | Antonio Moreno Taqueria | Antonio Moreno | Mataderos 2312 | Meksika D.F. | 05023 | Meksika |
Va "Yetkazib beruvchilar" jadvalidan tanlov:
| SupplierID | Ta’minotchi nomi | Kontakt nomi | Manzil | Shahar | Pochta kodi | Mamlakat |
|---|---|---|---|---|---|---|
| 1 | Ekzotik suyuqlik | Sharlotta Kuper | 49 Gilbert St. | Londona | EC1 4SD | UK |
| 2 | Yangi Orlean Kajun lazzatlari | Shelley Burke | P.O. 78934 quti | Yangi Orlean | 70117 | AQSh |
| 3 | Kelli buvining uyi | Regina Merfi | 707 Oksford ko‘chasi. | Enn Arbor | 48104 | AQSh |
MySQL INSERT INTO SELECT misollar
Misol
"Ta’minotchilar" ni "Mijozlar" ga nusxalash (ma’lumotlar bilan to‘ldirilmagan ustunlarda NULL bo‘ladi):
INSERT INTO Customers (CustomerName,
City, Country)
SELECT SupplierName, City, Country FROM Suppliers;
Misol
"Yetkazib beruvchilar" ni "Mijozlar" ga nusxalash (barcha ustunlarni nusxalash):
INSERT INTO Customers
SELECT * FROM Suppliers;
Misol
Faqat nemis yetkazib beruvchilarini "Mijozlar" ga nusxalash:
INSERT INTO Customers (CustomerName,
City, Country)
SELECT SupplierName, City, Country FROM Suppliers
WHERE Country='Germany';
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
