تخطَّ إلى المحتوى

CREATE TABLE

إنشاء جدول جديد CREATE TABLE

CREATE TABLE يُنشئ جدولًا جديدًا بتحديد أسماء أعمدته وأنواع بياناتها وقيوده (مثل PRIMARY KEY وNOT NULL) قبل إدراج أي بيانات فيه.

CREATE TABLE يحدّد اسم الجدول وقائمة أعمدته، وكل عمود له اسم ونوع بيانات (INT، VARCHAR، DATE...) وقيود اختيارية مثل NOT NULL أو UNIQUE أو DEFAULT. عادة يُحدَّد عمود واحد على الأقل كـ PRIMARY KEY يميّز كل صف بشكل فريد.

يمكن أيضًا تعريف مفاتيح أجنبية (FOREIGN KEY) داخل نفس أمر الإنشاء لربط الجدول بجدول آخر موجود مسبقًا، مما يضمن أن القيمة المُدرجة تشير فعليًا لصف موجود في الجدول المرجعي.

الصياغة

CREATE TABLE table_name (
  column1 TYPE constraints,
  column2 TYPE constraints
);

📄 مثال

CREATE TABLE orders (
  id SERIAL PRIMARY KEY,
  user_id INT NOT NULL REFERENCES users(id),
  total DECIMAL(10,2) NOT NULL,
  created_at TIMESTAMP DEFAULT NOW()
);

أهم النقاط

النقطةالوظيفة
PRIMARY KEYيحدّد العمود المميّز لكل صف بشكل فريد وغير NULL
NOT NULLيمنع ترك العمود بلا قيمة
UNIQUEيمنع تكرار نفس القيمة في أكثر من صف
DEFAULTقيمة تلقائية تُستخدم إن لم تُحدَّد قيمة عند الإدراج
REFERENCESيربط العمود كمفتاح أجنبي بعمود في جدول آخر

💡 نصائح عملية

  • فكّر في القيود (NOT NULL، UNIQUE، CHECK) وقت إنشاء الجدول — أسهل بكثير من إضافتها لاحقًا على جدول فيه بيانات مخالفة
  • استخدم أسماء جداول بصيغة الجمع (users، orders) للاتساق مع أغلب المشاريع

⚠️ أخطاء شائعة

  • نسيان PRIMARY KEY فيصعب لاحقًا تمييز الصفوف المكرّرة أو ربط الجدول بجداول أخرى
  • اختيار نوع بيانات ضيق جدًا (مثل INT صغير لعمود سيتضخّم) يضطرك لتعديل مكلف لاحقًا

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار SQL الكامل بالعربي.