شرح مفصل لـ MySQL INSERT INTO مع أمثلة متعددة
يُعتبر MySQL INSERT INTO أحد الأوامر الأساسية في قاعدة بيانات MySQL، ويستخدم لإضافة بيانات جديدة إلى جدول معين. سنقوم في هذا المقال بشرح هذا الأمر بالتفصيل، مع تقديم أمثلة متعددة لتوضيح كيفية استخدامه بفعالية.
صيغة الأمر [شركة برمجة مصرية] الأساسية
الصيغة الأساسية لأمر INSERT INTO [شركة برمجة مصرية] هي كما يلي:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
– **table_name**: اسم الجدول الذي تريد إضافة البيانات إليه.
– **column1, column2, …**: أسماء الأعمدة التي ستتم إضافة القيم إليها.
– **value1, value2, …**: القيم التي سيتم إدخالها في الأعمدة المحددة.
مثال بسيط
لنفترض أن لدينا جدولًا يُسمى `students` يحتوي على الأعمدة التالية: `id`, `name`, و `age`. ونريد إضافة طالب جديد إلى هذا الجدول.
INSERT INTO students (id, name, age)
VALUES (1, 'Ali', 20);
في هذا المثال، قمنا بإضافة طالب جديد يحمل المعرف `1` واسمه `Ali` وعمره `20`.
إضافة بيانات لأعمدة محددة
يمكنك أيضًا إدخال القيم لأعمدة معينة فقط، وترك الأعمدة الأخرى لتُملأ بالقيم الافتراضية، إذا كانت موجودة. على سبيل المثال، إذا كان لدينا عمود `email` في الجدول `students` ولكنه يقبل القيم الافتراضية، يمكننا تنفيذ ما يلي:
INSERT INTO students (name, age)
VALUES ('Sara', 22);
هنا، لم نقم بإدخال قيمة للعمود `email`، لذا سيتم استخدام القيمة الافتراضية المحددة له، إذا كانت موجودة.
إدخال بيانات متعددة في عملية واحدة
يمكنك أيضًا إدخال عدة صفوف في عملية واحدة باستخدام الأمر INSERT INTO. هذا يمكن أن يكون أكثر كفاءة من إدخال كل صف على حدة.
INSERT INTO students (id, name, age)
VALUES
(2, 'Ahmed', 23),
(3, 'Mona', 21),
(4, 'Omar', 22);
في هذا المثال، أضفنا ثلاثة طلاب دفعة واحدة.
استخدام INSERT INTO مع SELECT
يمكنك استخدام INSERT INTO مع عبارة SELECT لنسخ بيانات من جدول آخر، أو حتى من نفس الجدول بشرط مختلف. على سبيل المثال:
INSERT INTO students_backup (id, name, age)
SELECT id, name, age FROM students WHERE age > 20;
هنا، نقوم بنسخ بيانات الطلاب الذين تزيد أعمارهم عن 20 إلى جدول آخر يُسمى `students_backup`.
التعامل مع النزاعات
في بعض الأحيان، قد تواجه مشكلات تتعلق بتكرار القيم في الأعمدة التي يجب أن تكون فريدة (مثل الأعمدة الأساسية). MySQL يوفر خيارات للتعامل مع هذه المواقف مثل استخدام `INSERT IGNORE` أو `ON DUPLICATE KEY UPDATE`.
– **INSERT IGNORE**: يتجاهل الصفوف التي تسبب تعارضًا في القيم الفريدة.
INSERT IGNORE INTO students (id, name, age)
VALUES (1, 'Ali', 20);
– **ON DUPLICATE KEY UPDATE**: يقوم بتحديث الصفوف الموجودة في حالة حدوث تعارض.
INSERT INTO students (id, name, age)
VALUES (1, 'Ali', 20)
ON DUPLICATE KEY UPDATE age = 21;
في الختام، يُعتبر أمر INSERT INTO أداة قوية ومرنة في MySQL لإدارة البيانات. من خلال استخدام الصيغ المختلفة والخيارات المتاحة، يمكنك تحسين كفاءة وفعالية عمليات إدخال البيانات في قواعد البيانات الخاصة بك.
