منتدى العرب التعليمى
أهلاً وسهلاً بأخي


أسعدنا تواجدك بيننا على أمل أن تستمتع وتستفيد
وننتظر مشاركاتك وتفاعلك
فمرحباً بك بين إخوانك وأخواتك
ونسأل الله لك التوفيق والنجاح والتميز
الــــــــــفـــــــــــر عــــــــــــــون الـــمــــصــــــر ى
منتدى العرب التعليمى
أهلاً وسهلاً بأخي


أسعدنا تواجدك بيننا على أمل أن تستمتع وتستفيد
وننتظر مشاركاتك وتفاعلك
فمرحباً بك بين إخوانك وأخواتك
ونسأل الله لك التوفيق والنجاح والتميز
الــــــــــفـــــــــــر عــــــــــــــون الـــمــــصــــــر ى
منتدى العرب التعليمى
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

منتدى العرب التعليمى

منتدى العرب التعليمى تعليمى شامل
 
الرئيسيةأحدث الصورالتسجيلدخول

 

 تحديث السجلات وحذفها MYSQL

اذهب الى الأسفل 
كاتب الموضوعرسالة
الويب المصرى
الباشا صاحب المنتدى
الباشا صاحب المنتدى
الويب المصرى


عدد المساهمات : 434
تاريخ التسجيل : 14/11/2010
العمر : 37

تحديث السجلات وحذفها MYSQL  Empty
مُساهمةموضوع: تحديث السجلات وحذفها MYSQL    تحديث السجلات وحذفها MYSQL  Emptyالأحد نوفمبر 21, 2010 12:52 am

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]



فى بعض الأحيان بعض اضافتنا لأحد البيانات نحتاج لتعديله.
مثلا, اضفنا عميل جديد داخل جدول العملاء.

واكتشفنا بعد ذلك ان هناك خطأ غير مقصود اثناء كتابة هاتف العميل, او عنوانه, الخ.

او احد العملاء انتقل الى شركة اخرى ولم يصبح احد عملائنا ونريد حذفه تماما من قاعدة البيانات.

هذا هو محور درس اليوم, التعديل والحذف.

ويستخدم لهذه الأغراض الأمرين UPDATE و DELETE

وسوف نبدأ بالأولى والتى تستخدم للتعديل على احد البيانات.

وتكون صيغتها بالشكل التالى

كود :

UPDATE table_name SET column_name='the new value', column_2_name = 'another new value for another column'



حيث table_name هو اسم الجدول المراد تعديل احد حقوله
و column_name و column_2_name هما الحقلين الذى نريد تعديل قيمتهم.
وكل من النصوص الموضوعة داخل علامات التنصيص هى القيم الجديدة التى سيتم اضافتها.


لكن هناك ملحوظة وهى غاية فى الأهمية, والسهو عنها خطأ فادح وخسائره لا اظنها قابلة للإسترجاع. الا وهى.
انه عند استخدامك لكل من UPDATE او DELETE يجب ان تضع مشروطة WHERE
وتحدد الحقول التى سيتم التطبيق عليها بـ LIMIT 1
حتى يتم التعديل او الحذف على حقل واحد فقط.

اما اذا نسيت ان تفعل ذلك, ربما تضع قيمة واحدة لكل الحقول داخل الجدول, او تحذف محتواه بالكامل!

لنأخذ مثال.

كود :

UPDATE `customers' SET phone=0125746356


فى الكود اعلاه سوف يتم إعداد حقل الـ phone داخل جدول customers الى الرقم 0125746356 وهذا التعديل سوف يطبق على جميع العملاء الموجودين بهذا الجدول! والحل كما ذكرنا بإستخدام WHERE و LIMIT كالتالى

كود :

UPDATE `customers` SET phone=0125746356 WHERE customer_id = 5 LIMIT 1


فى هذا المثال, سوف يتم تحديث رقم هاتف العميل الذى رقم هويته هو 5 فقط.
ولاحظ ان حقل الـ customer_id هو حقل الـ PK بهذا اضمن ان العميل الذى اريد تحديد بياناته فقط هو من تم تحديثه.
ربما استخدم مثلا WHERE phone=012354647 حيث الرقم 012354647
هو الرقم الخطأ الذى تم تسجيله لهذا العميل, لكن ماذا اذا كان هناك عميل اخر له نفس رقم الهاتف؟ سوف يتم تحديث اما العميل المقصود, او عميل اخر لا نريد تحديث بياناته. نسبة الخطأ فى هذه الحالة ضئيلة ونادرة الحدوث, لكنها مازالت موجودة, لذلك يفضل ان نتلاشاها نهائيا, بالإعتماد على الـ PK فى هذه الأمور.

ملحوظات هامة قبل الإنتقال للجزء الثانى من الدرس.
1. لا تنسى, واكرر لا تنسى ان تستخدم مشروطة WHERE عن القيام بأمر UPDATE الا فى حالة انك تريد تطبيق تعديل ما على كل الحقول.
2. لا تقم بإستخدام الأمر UPDATE لتعديل حقل PK حيث ان القيام بهذا الأمر ربما يدمر العلاقة بين جدولين وينتج عنه خطأ يصعب حله.
3. اضافة مشروطة LIMIT للـ query اختيارية, لكنها زيادة فى الإحتياط حتى نضمن انه لن يتم تحديث اكثر من مدخل واحد ولا اكثر ولا اقل.


ننتقل للجزء الثانى من الدرس وهو طريقة حذف احد حقول الجدول.

صيغة امر DELETE تكون كالتالى

كود :

DELETE FROM table_name WHERE column=value


حيث table_name هو الجدول الذى سنحذف احد البيانات به.
والـ column هو احد الحقول التى سنشترط توافر قيمة معينة لها حتى يتم امر الحذف.

كامثال نريد ان نحذف العميل الذى رقم هويته هو 5

كود :

DELETE FROM `customers` WHERE customer_id = 5



لاحظ انه بمجرد اجرائك لأى امر حذف, لا يمكن التراجع فى الأمر واسترجاع ماتم حذفه.
لذلك كن حريصا كل الحرص وانت تقوم بهذا الأمر.
والأمر DELETE مثله مثل الـ UPDATE من حيث الملحوظات الهامة
يجب ان تضع به مشروطة WHERE وينصح بوضع امر التحديد LIMIT ايضا.


اتمنى يكون الدرس بسيط بإذن الله.

والدروس المتبقية ستكون اكثر احترافية حيث اننا سنتطرق لإلقاء نظرة كبيرة نوعا ما على دوال MYSQL

اراكم الدرس المقبل بإذن الله.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://egypt1.forumegypt.net
 
تحديث السجلات وحذفها MYSQL
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتدى العرب التعليمى :: منتدى البرمجة والتصميم والتطوير :: قسم قواعد البيانات :: قسم دورة Microsoft my SQL-
انتقل الى: