SQLوضع قيم إفتراضية للحقول
- مفهوم القيم الإفتراضية
- تجهيز قاعدة البيانات التي سنطبق عليها
- متى يتم إضافة القيم الإفتراضية الموضوعة للأعمدة
- طريقة وضع قيمة إفتراضية لعمود معرف مسبقاً في الجدول
- طريقة إلغاء القيمة إفتراضية التي وضعناها للعمود
مفهوم القيم الإفتراضية
عند إضافة سطر جديد في الجدول، فإن الحقول التي لا يوضع فيها قيم يتم إظهار القيمة Null فيها للإشارة إلى أنها فارغة.
يمكنك تعيين قيمة إفتراضية للعمود ليتم إعطاءها للحقل في حال لم يتم وضع قيمة فيه.
عند تعيين قيمة إفتراضية للعمود يجب مراعاة نوع القيم التي يمكن تخزينها فيه، فمثلاً إن كان نوع العمود هو INT يمكن تعيين عدد صحيح مثل الرقم 0
و ليس قيمة من نوع آخر مثل الكلمة 'Empty' لأنه بالمنطق لا يمكنك تخزين نص في حقل مخصص لتخزين عدد.
طريقة تعيين قيمة إفتراضية
القيمة الإفتراضية يمكن تعيينها في العمود لحظة إنشاء الجدول كما يلي.
- مكان الكلمة
table_name
نضع إسم الجدول الذي نريد إجراء تعديلات عليه. - مكان الكلمة column_name نحدد إسم العمود.
- مكان الكلمة datatype نحدد نوع البيانات التي يمكن تخيزنها في العمود.
- بعد الكلمة DEFAULT نضع القيمة الإفتراضية التي نريد وضعها للحقول الموضوعة تحت هذا العمود.
تجهيز قاعدة البيانات التي سنطبق عليها
قم بتنفيذ الإستعلام التالي حتى تنشئ قاعدة بيانات جديدة إسمها harmash
و تنشئ فيها جدول إسمه users
.
ملاحظة: العمود country
وضعنا فيه الكلمة 'Unknown'
كقيمة إفتراضية.
مثال
متى يتم إضافة القيم الإفتراضية الموضوعة للأعمدة
الإستعلام التالي يضيف 4 مستخدمين في الجدول users
.
بعدها يعرض كل الأسطر التي تم إضافتها.
مثال
النتيجة
id | first_name | last_name | country |
---|---|---|---|
1 | Mhamad | NULL | Unknown |
2 | Ayman | Mostafa | Unknown |
3 | Ahmad | Naji | Syria |
4 | Saly | Harmush | NULL |
نلاحظ أن العمود country
يظهر فيه عدة قيم من بينها القيمة NULL و القيمة الإفتراضية Unknown
و سنضع قراءة تحليلة لكل سطر تم إدخاله حتى تعرف السبب.
السطر الأول
تم وضع القيمة NULL في الحقل last_name
لأننا لم ندخل قيمة فيه.
تم وضع القيمة Unknown
في الحقل country
لأنها القيمة الإفتراضية التي حددنا أنه يتم وضعها في حال لم ندخل قيمة فيه.
السطر الثاني
تم وضع القيمة Unknown
في الحقل country
لأنها القيمة الإفتراضية التي حددنا أنه يتم وضعها في حال لم ندخل قيمة فيه.
السطر الثالث
لم يتم وضع القيمة الإفتراضية Unknown
في الحقل country
لأنه تم تمرير قيمة له.
السطر الرابع
لم يتم وضع القيمة الإفتراضية Unknown
في الحقل country
لأنه تم عمداً تمرير القيمة NULL في الإستعلام.
طريقة وضع قيمة إفتراضية لعمود معرف مسبقاً في الجدول
في حال أردت وضع قيمة إفتراضية لعمود موجود مسبقاً في الجدول، يمكنك تعديل العمود بواسطة الأمر ALTER.
طريقة وضع القيمة الإفتراضية لعمود تم تعريفه مسبقاً، تختلف من قاعدة بيانات لأخرى و لكن الفكرة هي نفسها تماماً.
أسلوب قواعد بيانات SQL Server
أسلوب قواعد بيانات Oracle
أسلوب قواعد بيانات Access
أسلوب قواعد بيانات MySQL
في هذه الدورة سنعتمد أسلوب قواعد بيانات MySQL في تعديل أنواع أعمدة الجداول.
الإستعلام التالي يقوم بتعديل القيمة الإفتراضية للحقل last_name
لأي سطر جديد يتم إضافته لتصبح الكلمة 'Missed' كقيمة إفتراضية.
مثال
طريقة إلغاء القيمة إفتراضية التي وضعناها للعمود
في حال أردت إلغاء القيمة الإفتراضية الموضوعة للعمود، يمكنك تعديل العمود بواسطة الأمر ALTER.
طريقة لإلغاء القيمة الإفتراضية للعمود، تختلف من قاعدة بيانات لأخرى و لكن الفكرة هي نفسها تماماً.
أسلوب قواعد بيانات MySQL
أسلوب قواعد بيانات SQL Server / Oracle / Access
الإستعلام التالي يقوم بإلغاء وضع الكلمة 'Missed' كقيمة إفتراضية في العمود country
.