📝 فهم واستخدام DEFAULT Constraint في SQL بسهولة
هل سبق لك أن أردت أن يكون لأحد أعمدة جدولك في SQL قيمة تلقائية يتم إضافتها عندما لا يقوم المستخدم بإدخال قيمة؟ هذا بالضبط ما يوفره لك DEFAULT Constraint! 🎯
💡 ما هو DEFAULT Constraint؟
DEFAULT Constraint هو قيد في SQL يسمح لك بتعيين قيمة افتراضية لعمود في الجدول. عندما يتم إدراج سجل جديد دون تحديد قيمة لهذا العمود، ستستخدم قاعدة البيانات القيمة الافتراضية التي حددتها.
🛠️ كيفية إضافة DEFAULT Constraint
هناك طريقتان رئيسيتان لإضافة DEFAULT Constraint:
الطريقة الأولى: أثناء إنشاء الجدول
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(100),
department VARCHAR(50) DEFAULT 'Unassigned',
hire_date DATE DEFAULT CURRENT_DATE,
is_active BOOLEAN DEFAULT true
);
في هذا المثال:
- العمود
departmentسيكون قيمته الافتراضية 'Unassigned' - العمود
hire_dateسيأخذ تاريخ اليوم تلقائياً - العمود
is_activeسيكونtrueافتراضياً
الطريقة الثانية: إضافة CONSTRAINT لجدول موجود
ALTER TABLE employees
ALTER COLUMN department SET DEFAULT 'Unassigned';
أو في بعض أنظمة قواعد البيانات:
ALTER TABLE employees
MODIFY department VARCHAR(50) DEFAULT 'Unassigned';
🔍 أمثلة عملية على الاستخدام
مثال 1: إدراج سجل بدون قيمة للعمود ذو القيمة الافتراضية
INSERT INTO employees (id, name)
VALUES (1, 'Ahmed Mohamed');
هنا سيتم إضافة القيم الافتراضية تلقائياً للأعمدة الأخرى.
مثال 2: إدراج سجل مع تحديد جميع القيم
INSERT INTO employees (id, name, department, hire_date, is_active)
VALUES (2, 'Fatima Ali', 'Sales', '2024-01-15', false);
في هذه الحالة، سيتم استخدام القيم المحددة وليس القيم الافتراضية.
⚠️ ملاحظات هامة
- أنواع البيانات المتوافقة: يجب أن تكون القيمة الافتراضية من نفس نوع بيانات العمود
- الدوال المسموحة: يمكن استخدام دوال مثل
CURRENT_DATEأوNOW() - القيم الثابتة: يمكن استخدام قيم ثابتة مثل الأرقام أو النصوص
🚀 أفضل الممارسات
- استخدم قيود DEFAULT لتبسيط عملية إدخال البيانات
- اختر قيماً افتراضية منطقية وذات معنى
- تجنب استخدام NULL كقيمة افتراضية إلا إذا كان ذلك مناسباً لسياق عملك
🎓 اختبر معلوماتك
التعليقات
شاركنا رأيك أو أسئلتك حول هذا المقال