MySQL إدراج في الاستعلام: كيفية إضافة صف في الجدول (مثال)
⚡ ملخص ذكي
MySQL تُضيف عبارة INSERT INTO Query صفوفًا جديدة إلى جدول، إما بتسمية الأعمدة المستهدفة صراحةً أو بتحديد قيمة لكل عمود. ويُحدد استخدام علامات الاقتباس الصحيحة للنصوص والأرقام والتواريخ ما إذا كانت البيانات المخزنة ستبقى سليمة أم لا.
ما هو إدراج في؟
إدراج في تُستخدم قاعدة البيانات لتخزين البيانات في الجداول. يُنشئ أمر INSERT صفًا جديدًا في الجدول لتخزين البيانات. عادةً ما تُوفّر البيانات بواسطة برامج تطبيقية تعمل فوق قاعدة البيانات.
بناء الجملة الأساسية
دعونا نلقي نظرة على بناء الجملة الأساسي لـ INSERT INTO MySQL أمر:
INSERT INTO `table_name`(column_1,column_2,...) VALUES (value_1,value_2,...);
هنا
- INSERT INTO `table_name` هو الأمر الذي يخبرنا MySQL الخادم لإضافة صف جديد إلى جدول يسمى "اسم_الجدول".
- (column_1,column_2,...) يحدد الأعمدة المراد تحديثها في الجديد MySQL صف
- تحدد VALUES (value_1,value_2,...) القيم التي سيتم إضافتها إلى الصف الجديد
عند توفير قيم البيانات المراد إدراجها في الجدول الجديد، ينبغي مراعاة ما يلي:
- أنواع بيانات السلسلة – يجب أن تكون جميع قيم السلسلة محاطة بعلامات اقتباس مفردة.
- أنواع البيانات الرقمية - يجب تقديم جميع القيم الرقمية مباشرة دون وضعها بين علامتي اقتباس مفردة أو مزدوجة.
- أنواع بيانات التاريخ - أرفق قيم التاريخ بين علامتي اقتباس مفردتين بالتنسيق "YYYY-MM-DD".
إدراج عدة صفوف في وقت واحد
يمكن لعبارة INSERT واحدة أن تحمل عدة صفوف. افصل كل مجموعة من القيم بفاصلة. العبارة الواحدة أسرع من عدة عبارات، لأن الفهرس يُحدَّث مرة واحدة فقط.
INSERT INTO `categories`(`category_name`,`remarks`) VALUES ('Documentary', 'Factual films'), ('Musical', 'Song driven films');
MySQL مثال على استعلام INSERT INTO
افترض أن لدينا القائمة التالية لأعضاء المكتبة الجدد الذين يجب إضافتهم إلى قاعدة البيانات.
| الأسماء الكاملة | تاريخ الميلاد | جنس | العنوان الفعلي | العنوان البريدي | رقم الاتصال | البريد الإلكتروني |
|---|---|---|---|---|---|---|
| ليونارد هوفستاتر | ذكر | وودكريست | 0845738767 | |||
| شيلدون كوبر | ذكر | وودكريست | 0976736763 | |||
| راجيش كوثرابالي | ذكر | وودكريست | 0938867763 | |||
| ليزلي وينكل | 14/02/1984 | ذكر | وودكريست | 0987636553 | ||
| هوارد ولويتز | 24/08/1981 | ذكر | ساوث بارك | صندوق بريد P.O. Box 4563 | 0987786553 | lwolowitz@email.me |
لنُدخل البيانات صفًا تلو الآخر، بدءًا من ليونارد هوفستاتر. سنتعامل مع رقم الاتصال كبيانات رقمية ولن نضعه بين علامتي اقتباس مفردتين.
INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Leonard Hofstadter','Male','Woodcrest',0845738767);
يؤدي تنفيذ البرنامج النصي أعلاه إلى حذف الصفر من رقم اتصال ليونارد، لأن القيمة تُعامل على أنها رقمية والصفر البادئ ليس له أهمية.
لتجنب مثل هذه المشاكل، يجب وضع القيمة بين علامتي اقتباس مفردتين كما هو موضح أدناه.
INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Sheldon Cooper','Male','Woodcrest', '0976736763');
⚠️ نصيحة: قم بتخزين أرقام الهواتف والرموز البريدية والمعرفات المشابهة في عمود نصي مثل VARCHAR. لا يمكن للأعمدة الرقمية الاحتفاظ بصفر بادئ.
تغيير ترتيب الأعمدة
ليس لتغيير ترتيب الأعمدة أي تأثير على استعلام INSERT الموجود MySQLطالما تم ربط القيم الصحيحة بالأعمدة الصحيحة. يوضح الاستعلام أدناه هذه النقطة.
INSERT INTO `members` (`contact_number`,`gender`,`full_names`,`physical_address`) VALUES ('0938867763','Male','Rajesh Koothrappali','Woodcrest');
لقد تجاوزت الاستعلامات المذكورة أعلاه عمود تاريخ الميلاد. بشكل افتراضي، MySQL يقوم بإدراج قيم فارغة (NULL) في الأعمدة التي تم حذفها من استعلام الإدراج (INSERT).
لنُدرج الآن سجل ليزلي، الذي يحتوي على تاريخ ميلاده. يجب وضع قيمة التاريخ بين علامتي اقتباس مفردتين باستخدام التنسيق 'YYYY-MM-DD'.
INSERT INTO `members` (`full_names`,`date_of_birth`,`gender`,`physical_address`,`contact_number`) VALUES ('Leslie Winkle','1984-02-14','Male','Woodcrest', '0987636553');
حذف قائمة الأعمدة
جميع الاستعلامات المذكورة أعلاه سمّت الأعمدة وربطتها بالقيم. إذا أدخلنا قيمًا لجميع الأعمدة في الجدول، فيمكن حذف قائمة الأعمدة من MySQL إدراج الاستعلام.
INSERT INTO `members` VALUES (9,'Howard Wolowitz','Male','1981-08-24', 'SouthPark','P.O. Box 4563', '0987786553', 'lwolowitz@email.me');
دعونا الآن نستخدم اختيار البيان لعرض جميع الصفوف في جدول الأعضاء.
SELECT * FROM `members`;
| رقم العضوية | الأسماء الكاملة | جنس | تاريخ الميلاد | العنوان الفعلي | العنوان البريدي | رقم_الاتصال | البريد الإلكتروني |
|---|---|---|---|---|---|---|---|
| 1 | جانيت جونز | أنثى | 21-07-1980 | الشارع الأول قطعة رقم 4 | حقيبة خاصة | 0759-253-542 | جانيتجونز@yagoo.cm |
| 2 | جانيت سميث جونز | أنثى | 23-06-1980 | ميلروز 123 | اغية | اغية | jj@fstreet.com |
| 3 | روبرت فيل | ذكر | 12-07-1989 | الشارع الثالث 3 | اغية | 12345 | rm@tstreet.com |
| 4 | غلوريا ويليامز | أنثى | 14-02-1984 | الشارع الثاني 2 | اغية | اغية | اغية |
| 5 | ليونارد هوفستاتر | ذكر | اغية | وودكريست | اغية | 845738767 | اغية |
| 6 | شيلدون كوبر | ذكر | اغية | وودكريست | اغية | 0976736763 | اغية |
| 7 | راجيش كوثرابالي | ذكر | اغية | وودكريست | اغية | 0938867763 | اغية |
| 8 | ليزلي وينكل | ذكر | 14-02-1984 | وودكريست | اغية | 0987636553 | اغية |
| 9 | هوارد ولويتز | ذكر | 24-08-1981 | ساوث بارك | صندوق بريد P.O. Box 4563 | 0987786553 | lwolowitz@email.me |
لاحظ أن رقم هاتف ليونارد هوفستاتر قد أسقط الصفر الأول، تمامًا كما كان متوقعًا. أما الأرقام المذكورة أعلاه فقد احتفظت به.
الإدراج في جدول من جدول آخر
يمكن أيضًا استخدام الأمر INSERT لإدراج البيانات في جدول من جدول آخر. بناء الجملة الأساسي كما هو موضح أدناه.
INSERT INTO table_1 SELECT * FROM table_2;
سنقوم الآن بإنشاء جدول وهمي لفئات الأفلام، يُسمى categories_archive. النص البرمجي أدناه ينشئ الجدول.
CREATE TABLE `categories_archive` ( `category_id` int(11) AUTO_INCREMENT, `category_name` varchar(150) DEFAULT NULL, `remarks` varchar(500) DEFAULT NULL, PRIMARY KEY (`category_id`))
نفّذ البرنامج النصي أعلاه لإنشاء الجدول. لنُدرج الآن جميع الصفوف من جدول الفئات في جدول أرشيف الفئات.
INSERT INTO `categories_archive` SELECT * FROM `categories`;
يجب أن تكون بنية الجداول متطابقة لكي يعمل هذا البرنامج النصي. يقوم برنامج نصي أكثر كفاءة بربط أسماء الأعمدة في جدول الوجهة بأسماء الأعمدة في الجدول الذي يحتوي على البيانات، كما هو موضح أدناه.
INSERT INTO `categories_archive`(category_id,category_name,remarks) SELECT category_id,category_name,remarks FROM `categories`;
يؤدي تنفيذ استعلام SELECT أدناه إلى النتائج التالية.
SELECT * FROM `categories_archive`;
| معرف الفئة | اسم التصنيف | تصريحات |
|---|---|---|
| 1 | كوميديا | أفلام مع الفكاهة |
| 2 | رومانسي | قصص حب |
| 3 | الملحمي | قصة افلام قديمة |
| 4 | رعب | اغية |
| 5 | القصص الخيالي | اغية |
| 6 | قصة مثيرة | اغية |
| 7 | اكشن | اغية |
| 8 | كوميديا رومانسية | اغية |
| 9 | الرسوم | اغية |
| 10 | الرسوم | اغية |
مثال PHP: أدخل في MySQL طاولات
يتم استخدام دالة mysqli_query لتنفيذ SQL ينفذ الاستعلامات من لغة PHP. يقوم بتشغيل عبارات الإدراج والاختيار والتحديث والحذف على حد سواء، وله الصيغة التالية.
mysqli_query($db_handle,$query);
هنا،
- "mysqli_query(…)" هي الوظيفة التي تقوم بتنفيذ استعلامات SQL.
- "$query" هو استعلام SQL المراد تنفيذه.
- "$db_handle" هو رابط اتصال الخادم الذي تم إرجاعه بواسطة mysqli_connect.
مثال
$servername = "localhost"; $username = "alex"; $password = "yPXuPT"; $dbname = "afmznf"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $sql = "INSERT INTO addkeyworddata(link, keyword) VALUES ('https://www.guru99.com/','1000')"; if (mysqli_query($conn, $sql)) { echo "New record created successfully" . '<br>'; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); }

