MySQL INSERT INTO SELECT عبارة
بيان MySQL 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 المعروفة.
يوجد أدناه مجموعة مختارة من جدول "العملاء":
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 |
واختيار من جدول "الموردين":
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 التالية بنسخ "الموردون" إلى "العملاء" (الأعمدة التي لم يتم ملؤها بالبيانات ، ستحتوي على NULL):
مثال
INSERT INTO Customers (CustomerName,
City, Country)
SELECT SupplierName, City, Country FROM Suppliers;
ينسخ بيان SQL التالي "الموردون" إلى "العملاء" (املأ جميع الأعمدة):
مثال
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode,
Country)
SELECT SupplierName, ContactName, Address, City, PostalCode,
Country FROM Suppliers;
ينسخ بيان SQL التالي الموردين الألمان فقط إلى "العملاء":
مثال
INSERT INTO Customers (CustomerName,
City, Country)
SELECT SupplierName, City, Country FROM Suppliers
WHERE Country='Germany';