PostgreSQL ALTER Table: إضافة عمود، إعادة تسمية أمثلة العمود/الجدول

يتم استخدام أمر ALTER TABLE لتغيير بنية جدول PostgreSQL. هو الأمر المستخدم لتغيير أعمدة الجدول أو اسم الجدول.

بناء الجملة

فيما يلي بناء جملة أمر PostgreSQL ALTER TABLE:

ALTER TABLE table-name action;

معلمة اسم الجدول هي اسم الجدول الذي تحتاج إلى تغييره.

معلمة الإجراء هي الإجراء الذي يتعين عليك تنفيذه، مثل تغيير اسم العمود، أو تغيير نوع بيانات العمود، وما إلى ذلك.

الوصف

يقوم الأمر ALTER TABLE بتغيير تعريف جدول موجود. يستغرق الأمرwing النماذج الفرعية:

  • إضافة عمود: يستخدم هذا بناء جملة مشابهًا لأمر CREATE TABLE لإضافة عمود جديد إلى الجدول.
  • إسقاط العمود: لإسقاط عمود الجدول. سيتم أيضًا إسقاط القيود والفهارس المفروضة على الأعمدة.
  • تعيين/إسقاط الافتراضي: يُستخدم لإزالة القيمة الافتراضية لعمود. ومع ذلك، فإن التغيير لن ينطبق إلا على اللاحقة إدراج البيانات.
  • تعيين/إسقاط ليس فارغًا: يغير ما إذا كان العمود سيسمح بالقيم الخالية أم لا.
  • تعيين الإحصائيات: لتحديد هدف جمع الإحصائيات لكل عمود لعمليات التحليل.
  • ضبط التخزين: لتعيين وضع التخزين لعمود. سيحدد هذا مكان حفظ العمود، سواء كان سطريًا أو في جدول إضافي.
  • مجموعة بدون مواد: يستخدم لإزالة العمود القديم من الجدول.
  • إعادة تسمية: لتغيير اسم الجدول أو اسم العمود.
  • إضافة table_constraint: يستخدم لإضافة قيد جديد إلى جدول ويستخدم نفس بناء الجملة إنشاء الجدول أمر.
  • قيود السقوط: يُستخدم لإسقاط قيد الجدول.
  • OWNER: لتغيير مالك جدول أو تسلسل أو فهرس أو طريقة عرض لمستخدم معين.
  • CLUSTER: لوضع علامة على الجدول لاستخدامه في تنفيذ عمليات المجموعة المستقبلية.

تعديل عمود

يمكن تعديل العمود بعدة طرق. يمكن إجراء مثل هذه التعديلات باستخدام أمر ALTER TABLE. دعونا نناقش هذه:

إضافة عمود جديد

لإضافة عمود جديد إلى جدول PostgreSQL، يتم استخدام أمر ALTER TABLE مع المتابعةwing بناء الجملة:

ALTER TABLE table-name
  ADD new-column-name column-definition;

اسم الجدول هو اسم الجدول المراد تعديله.

اسم العمود الجديد هو اسم العمود الجديد المراد إضافته.

تعريف العمود هو نوع البيانات من العمود الجديد.

انظر جدول الكتاب الموضح أدناه:

إضافة عمود جديد في PostgreSQL

يحتوي الجدول على عمودين، المعرف، والاسم. نحتاج إلى إضافة عمود جديد إلى الجدول وإعطائه اسم المؤلف. فقط قم بتشغيل فولوwing أمر:

ALTER TABLE Book
  ADD author VARCHAR(50);

بعد تشغيل الأمر أعلاه، أصبح جدول الكتاب الآن كما يلي:

إضافة عمود جديد في PostgreSQL

تمت إضافة العمود الجديد بنجاح.

إعادة تسمية عمود الجدول

يمكننا استخدام أمر ALTER TABLE لتغيير اسم العمود. في هذه الحالة، يتم استخدام الأمر مع المتابعةwing بناء الجملة:

ALTER TABLE table-name
  RENAME COLUMN old-name TO new-name;

اسم الجدول هو اسم الجدول الذي سيتم إعادة تسمية عموده.

الاسم القديم هو الاسم القديم/الحالي للعمود.

الاسم الجديد هو الاسم الجديد للعمود. خذ بعين الاعتبار كتاب الجدول الموضح أدناه:

كتاب:

إعادة تسمية عمود الجدول في PostgreSQL

نحن بحاجة إلى اسم مؤلف العمود book_author. هنا هو الأمر:

ALTER TABLE Book
  RENAME COLUMN author TO book_author;

بعد تشغيل الأمر، يمكننا عرض بنية الجدول:

إعادة تسمية عمود الجدول في PostgreSQL

تم تغيير اسم العمود بنجاح.

تحديد القيمة الافتراضية للعمود

يمكننا تعيين قيمة افتراضية لعمود بحيث أنه حتى عندما لا تحدد قيمة لهذا العمود أثناء عمليات INSERT، سيتم استخدام القيمة الافتراضية. في هذه الحالة، يمكن استخدام أمر ALTER TABLE مع المتابعةwing بناء الجملة:

ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];

اسم الجدول هو اسم الجدول الذي سيتم تعديل عموده.

اسم العمود هو الاسم الذي سيتم تعيين قيمته الافتراضية.

القيمة هي القيمة الافتراضية للعمود.

خذ بعين الاعتبار جدول الكتاب الموضح أدناه:

تحديد القيمة الافتراضية للعمود

نحتاج إلى تعيين قيمة افتراضية لعمود book_author. يمكننا تشغيل المتابعةwing أمر:

ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';		

الآن دعونا نقوم بإدراج صف في الجدول:

INSERT INTO Book (id, name)
 VALUES (6, 'PostgreSQL for Beginners');

لاحظ أننا قمنا بإدراج قيم لعمودين فقط، المعرف والاسم. ومع ذلك، تم استخدام القيمة الافتراضية لعمود book_author:

تحديد القيمة الافتراضية للعمود

إضافة قيد التحقق

يساعد قيد التحقق في التحقق من صحة السجلات التي يتم إدراجها في الجدول. يمكننا القيام بذلك عن طريق دمج الأمر 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, 'Best PostgreSQL Book', 'Gregory Bush');

البيان سوف يعود فولوwing خطأ:

إضافة قيد التحقق

فشلت عملية الإدراج لأننا انتهكنا قيد التحقق.

إعادة تسمية الجدول

فيما يلي بناء جملة الأمر ALTER TABLE لإعادة تسمية الجدول:

ALTER TABLE table-name
  RENAME TO new-table-name;

اسم الجدول هو الاسم الحالي للجدول.

اسم الجدول الجديد هو الاسم الجديد الذي سيتم تعيينه للجدول.

على سبيل المثال، دعونا نغير اسم جدول الكتب إلى الكتب:

ALTER TABLE Book
  RENAME TO Books;

باستخدام pgAdmin

الآن دعونا نرى كيف يمكن تنفيذ هذه الإجراءات باستخدام pgAdmin.

إضافة عمود جديد

لإنجاز الأمر نفسه من خلال pgAdmin، قم بما يلي:

الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.

الخطوة 2)

  1. من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
  2. انقر فوق العرض التوضيحي.

إضافة عمود جديد باستخدام pgAdmin

الخطوة 3) اكتب الاستعلام في محرر الاستعلام:

ALTER TABLE Book
  ADD author VARCHAR(50);

الخطوة 4) انقر فوق الزر "تنفيذ".

إضافة عمود جديد باستخدام pgAdmin

الخطوة 5) للتحقق مما إذا كان العمود قد تمت إضافته، قم بالمتابعةwing:

  1. انقر فوق قواعد البيانات من شريط التنقل الأيمن.
  2. قم بتوسيع العرض التوضيحي.
  3. قم بتوسيع المخططات.
  4. قم بتوسيع عام.
  5. قم بتوسيع الجداول.
  6. قم بتوسيع الكتاب.
  7. قم بتوسيع الأعمدة.

إضافة عمود جديد باستخدام pgAdmin

يجب إضافة العمود كما هو موضح أدناه:

إضافة عمود جديد باستخدام pgAdmin

إعادة تسمية عمود الجدول

لإنجاز الأمر نفسه من خلال pgAdmin، قم بما يلي:

الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.

الخطوة 2)

  1. من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
  2. انقر فوق العرض التوضيحي.

إعادة تسمية عمود الجدول باستخدام pgAdmin

الخطوة 3) اكتب الاستعلام في محرر الاستعلام:

ALTER TABLE Book
  RENAME COLUMN author TO book_author;

الخطوة 4) انقر فوق الزر "تنفيذ".

إعادة تسمية عمود الجدول باستخدام pgAdmin

الخطوة 5) للتحقق من نجاح التغيير، قم بالمتابعةwing:

  1. انقر فوق قواعد البيانات من شريط التنقل الأيمن.
  2. قم بتوسيع العرض التوضيحي.
  3. قم بتوسيع المخططات.
  4. قم بتوسيع عام.
  5. قم بتوسيع الجداول.
  6. قم بتوسيع الكتاب.
  7. قم بتوسيع الأعمدة.

إعادة تسمية عمود الجدول باستخدام pgAdmin

يجب أن تكون الأعمدة الآن كما يلي:

إعادة تسمية عمود الجدول باستخدام pgAdmin

تم تغيير العمود بنجاح.

تحديد القيمة الافتراضية للعمود

لإنجاز الأمر نفسه من خلال pgAdmin، قم بما يلي:

الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.

الخطوة 2)

  1. من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
  2. انقر فوق العرض التوضيحي.

تحديد القيمة الافتراضية للعمود

الخطوة 3) اكتب الاستعلام في محرر الاستعلام:

ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';		

الخطوة 4) انقر فوق الزر "تنفيذ".

تحديد القيمة الافتراضية للعمود

الخطوة 5) للاختبار، قم بتشغيل following الأمر في محرر الاستعلام:

INSERT INTO Book (id, name)
 VALUES (6, 'PostgreSQL for Beginners')

الخطوة 6) يمكننا الآن الاستعلام عن الجدول للتحقق مما إذا كانت القيمة الافتراضية قد تم إدراجها في عمود book_author:

تحديد القيمة الافتراضية للعمود

إضافة قيد التحقق

لإنجاز الأمر نفسه من خلال pgAdmin، قم بما يلي:

الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.

الخطوة 2)

  1. من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
  2. انقر فوق العرض التوضيحي.

إضافة قيد التحقق باستخدام pgAdmin

الخطوة 3) اكتب الاستعلام في محرر الاستعلام:

ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))

الخطوة 4) انقر فوق الزر "تنفيذ".

إضافة قيد التحقق باستخدام pgAdmin

الخطوة 5) لاختبار ذلك، اتبع الخطوات التاليةwing:

  1. اكتب فولوwing الاستعلام في محرر الاستعلام:
    INSERT INTO Book
    VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
    
  2. انقر فوق الزر "تنفيذ".

    إضافة قيد التحقق باستخدام pgAdmin

    وسوف يعود فولوwing:

إضافة قيد التحقق باستخدام pgAdmin

إعادة تسمية الجدول

لإنجاز الأمر نفسه من خلال pgAdmin، قم بما يلي:

الخطوة 1) قم بتسجيل الدخول إلى حساب pgAdmin الخاص بك.

الخطوة 2)

  1. من شريط التنقل الموجود على اليسار، انقر فوق قواعد البيانات.
  2. انقر فوق العرض التوضيحي.

إعادة تسمية الجدول باستخدام pgAdmin

الخطوة 3) اكتب الاستعلام في محرر الاستعلام:

ALTER TABLE Book
  RENAME TO Books;

الخطوة 4) انقر فوق الزر "تنفيذ".

إعادة تسمية الجدول باستخدام pgAdmin

الخطوة 5) للتحقق من إعادة تسمية الجدول، قم بالمتابعةwing:

  1. انقر فوق قواعد البيانات من شريط التنقل الأيمن.
  2. قم بتوسيع العرض التوضيحي.
  3. قم بتوسيع المخططات.
  4. قم بتوسيع عام.
  5. قم بتوسيع الجداول.

إعادة تسمية الجدول باستخدام pgAdmin

تمت إعادة تسمية الجدول بنجاح.

نبذة عامة

  • يتم استخدام عبارة ALTER TABLE لتعديل بنية الجدول.
  • يتخذ أمر ALTER TABLE أشكالًا مختلفة اعتمادًا على المهمة التي تحتاج إلى تنفيذها.
  • يمكن أن يكون الهيكل عبارة عن أعمدة الجدول أو الجدول نفسه.
  • يمكننا استخدام هذا البيان لتغيير اسم الجدول.
  • يمكن استخدام أمر ALTER TABLE لتعيين القيمة الافتراضية للعمود.
  • يمكن استخدام العبارة للتحقق من صحة القيم التي تم إدخالها في عمود الجدول.

قم بتنزيل قاعدة البيانات المستخدمة في هذا البرنامج التعليمي