PostgreSQL ALTER TABLE: إضافة وإعادة تسمية عمود
⚡ ملخص ذكي
PostgreSQL يقوم الأمر ALTER TABLE بتغيير بنية جدول موجود، مما يسمح لك بإضافة أو حذف الأعمدة، وإعادة تسمية عمود أو الجدول بأكمله، وتعيين القيم الافتراضية، وإرفاق قيود التحقق دون إعادة إنشاء الكائن.

ما هو ALTER TABLE في PostgreSQL?
استخدم تغيير الجدول يُستخدم الأمر لتغيير بنية PostgreSQL يُستخدم الأمر `table` لتغيير أعمدة الجدول أو اسم الجدول نفسه، دون حذفه.ping وإعادة إنشاء الكائن.
بناء الجملة
هنا هو بناء الجملة ل PostgreSQL أمر تغيير الجدول:
ALTER TABLE table-name action;
يُشير مُعامل اسم الجدول إلى اسم الجدول الذي ترغب في تغييره. أما مُعامل الإجراء فيُشير إلى الإجراء المطلوب تنفيذه، مثل تغيير اسم عمود أو تغيير نوع بيانات عمود.
الوصف
يقوم الأمر ALTER TABLE بتغيير تعريف الجدول الموجود. ويأخذ النماذج الفرعية التالية:
- إضافة عمود: يستخدم هذا الأمر صيغة مشابهة لأمر CREATE TABLE لإضافة عمود جديد إلى جدول.
- إسقاط العمود: للإسقاطping عمود جدول. سيتم أيضًا حذف القيود والفهارس المفروضة على الأعمدة.
- تعيين/إسقاط الافتراضييُستخدم هذا الخيار لتعيين أو إزالة القيمة الافتراضية لعمود ما. ولا يسري هذا التغيير إلا على الأعمدة اللاحقة. إدراج البيانات.
- تعيين/إسقاط ليس فارغًا: يغير ما إذا كان العمود سيسمح بقيم فارغة أم لا.
- إحصائيات المجموعة: لتحديد هدف جمع الإحصائيات لكل عمود لعمليات التحليل.
- ضبط التخزين: لتحديد طريقة تخزين عمود، سواء كان مضمنًا أو في جدول تكميلي.
- مجموعة بدون مواد: يستخدم لإزالة عمود OID القديم من الجدول.
- إعادة تسمية: لتغيير اسم الجدول أو اسم العمود.
- إضافة table_constraintيُستخدم لإضافة قيد جديد إلى جدول. ويستخدم نفس الصيغة المستخدمة في إنشاء الجدول أمر.
- قيود السقوط: يستخدم للإسقاطping قيد جدولي.
- OWNER: لتغيير مالك جدول أو تسلسل أو فهرس أو عرض إلى مستخدم معين.
- CLUSTER: لتحديد جدول لاستخدامه في عمليات التجميع المستقبلية.
تعديل عمود
يمكن تعديل عمود في جدول البيانات بعدة طرق، ويتم ذلك باستخدام أمر ALTER TABLE. سنتناول هذه التعديلات بالتفصيل فيما يلي.
إضافة عمود جديد
لإضافة عمود جديد إلى أ PostgreSQL الجدول، يتم استخدام الأمر ALTER TABLE مع بناء الجملة التالي:
ALTER TABLE table-name ADD new-column-name column-definition;
اسم الجدول هو اسم الجدول المراد تعديله. اسم العمود الجديد هو اسم العمود الجديد المراد إضافته. تعريف العمود هو نوع البيانات من العمود الجديد. انظر جدول الكتاب الموضح أدناه:
يحتوي الجدول على عمودين، id و name. نحتاج إلى إضافة عمود جديد إلى الجدول وتسميته author. ما عليك سوى تشغيل الأمر التالي:
ALTER TABLE Book ADD author VARCHAR(50);
بعد تشغيل الأمر أعلاه، أصبح جدول الكتاب الآن كما يلي:
تمت إضافة العمود الجديد بنجاح.
إعادة تسمية عمود الجدول
يمكننا استخدام الأمر ALTER TABLE لتغيير اسم العمود. في هذه الحالة، يتم استخدام الأمر بالصيغة التالية:
ALTER TABLE table-name RENAME COLUMN old-name TO new-name;
اسم الجدول هو اسم الجدول الذي سيتم تغيير اسم عموده. الاسم القديم هو الاسم الحالي للعمود، والاسم الجديد هو الاسم الجديد للعمود. انظر إلى جدول "الكتاب" الموضح أدناه:
كتاب:
نحتاج إلى تغيير اسم عمود المؤلف إلى book_author. إليك الأمر:
ALTER TABLE Book RENAME COLUMN author TO book_author;
بعد تشغيل الأمر، يمكننا عرض بنية الجدول:
تم تغيير اسم العمود بنجاح.
تحديد القيمة الافتراضية للعمود
يمكننا تعيين قيمة افتراضية لعمود ما، بحيث تُستخدم القيمة الافتراضية حتى عند عدم تحديد قيمة لهذا العمود أثناء عمليات الإدراج. في هذه الحالة، يمكن استخدام أمر ALTER TABLE بالصيغة التالية:
ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];
اسم الجدول هو اسم الجدول الذي سيتم تعديل عموده. اسم العمود هو اسم العمود الذي سيتم تعيين قيمته الافتراضية، والقيمة هي القيمة الافتراضية لهذا العمود. انظر إلى جدول الكتب الموضح أدناه:
نحتاج إلى تعيين قيمة افتراضية لعمود book_author. يمكننا تشغيل الأمر التالي:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
الآن دعونا نقوم بإدراج صف في الجدول:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners');
لاحظ أننا أدخلنا قيمًا لعمودين فقط، وهما المعرّف والاسم. مع ذلك، تم استخدام القيمة الافتراضية لعمود مؤلف الكتاب.
إضافة قيد التحقق
يساعد قيد التحقق في التحقق من صحة السجلات التي يتم إدراجها في الجدول. يمكننا القيام بذلك عن طريق دمج الأمر ALTER TABLE مع عبارة ADD CHECK. بناء الجملة:
ALTER TABLE table-name ADD CHECK expression;
اسم الجدول هو اسم الجدول المراد تعديله، والتعبير هو القيد المراد فرضه على عمود الجدول. لنقم بتعديل عمود book_author في جدول Book بحيث يقبل القيمتين Nicholas و Samuel فقط.
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));
الآن، دعونا نحاول إدراج قيمة أخرى غير Nicholas أو Samuel في عمود book_author في جدول Book:
INSERT INTO Book VALUES(7, 'أفضل PostgreSQL Book', 'Gregory Bush');
سيؤدي هذا البيان إلى إرجاع الخطأ التالي:
فشلت عملية الإدراج بسبب انتهاكنا لقيد الفحص.
إعادة تسمية الجدول
فيما يلي بناء جملة الأمر ALTER TABLE لإعادة تسمية الجدول:
ALTER TABLE table-name RENAME TO new-table-name;
اسم الجدول هو الاسم الحالي للجدول، واسم الجدول الجديد هو الاسم الجديد الذي سيتم تعيينه للجدول. على سبيل المثال، لنغير اسم جدول الكتب إلى "الكتب":
ALTER TABLE Book RENAME TO Books;
باستخدام pgAdmin
حتى الآن، تم تنفيذ الإجراءات من خلال واجهة سطر أوامر SQL. والآن، دعونا نرى كيف يمكن تنفيذ هذه الإجراءات نفسها بصريًا باستخدام pgAdmin.
إضافة عمود جديد
الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.
الخطوة 2)
- من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
- انقر فوق العرض التوضيحي.
الخطوة 3) اكتب الاستعلام في محرر الاستعلام:
ALTER TABLE Book ADD author VARCHAR(50);
الخطوة 4) انقر فوق الزر "تنفيذ".
الخطوة 5) للتأكد من إضافة العمود، قم بما يلي:
- انقر فوق قواعد البيانات من شريط التنقل الأيمن.
- قم بتوسيع العرض التوضيحي.
- قم بتوسيع المخططات.
- قم بتوسيع عام.
- قم بتوسيع الجداول.
- قم بتوسيع الكتاب.
- قم بتوسيع الأعمدة.
يجب إضافة العمود كما هو موضح أدناه:
إعادة تسمية عمود الجدول
الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.
الخطوة 2)
- من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
- انقر فوق العرض التوضيحي.
الخطوة 3) اكتب الاستعلام في محرر الاستعلام:
ALTER TABLE Book RENAME COLUMN author TO book_author;
الخطوة 4) انقر فوق الزر "تنفيذ".
الخطوة 5) للتأكد من نجاح التغيير، قم بتوسيع أعمدة جدول الكتاب كما كان من قبل:
يجب أن تكون الأعمدة الآن كما يلي:
تم تغيير العمود بنجاح.
تحديد القيمة الافتراضية للعمود
الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.
الخطوة 2)
- من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
- انقر فوق العرض التوضيحي.
الخطوة 3) اكتب الاستعلام في محرر الاستعلام:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
الخطوة 4) انقر فوق الزر "تنفيذ".
الخطوة 5) للاختبار، قم بتشغيل الأمر التالي في محرر الاستعلامات:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners')
الخطوة 6) يمكننا الآن الاستعلام عن الجدول للتحقق مما إذا كانت القيمة الافتراضية قد تم إدراجها في عمود book_author:
إضافة قيد التحقق
الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.
الخطوة 2)
- من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
- انقر فوق العرض التوضيحي.
الخطوة 3) اكتب الاستعلام في محرر الاستعلام:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))
الخطوة 4) انقر فوق الزر "تنفيذ".
الخطوة 5) لاختبار ذلك، اكتب الاستعلام التالي في محرر الاستعلامات وانقر على زر التنفيذ:
INSERT INTO Book VALUES(7, 'أفضل PostgreSQL Book', 'Gregory Bush');
سوف يعود ما يلي:
إعادة تسمية الجدول
الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.
الخطوة 2)
- من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
- انقر فوق العرض التوضيحي.
الخطوة 3) اكتب الاستعلام في محرر الاستعلام:
ALTER TABLE Book RENAME TO Books;
الخطوة 4) انقر فوق الزر "تنفيذ".
الخطوة 5) للتحقق مما إذا تمت إعادة تسمية الجدول، قم بتوسيع قواعد البيانات > العرض التوضيحي > المخططات > عام > الجداول:
تمت إعادة تسمية الجدول بنجاح.
قم بتنزيل قاعدة البيانات المستخدمة في هذا البرنامج التعليمي

























