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

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

بناء الجملة

هنا هو بناء الجملة ل PostgreSQL أمر تغيير الجدول:

ALTER TABLE table-name action;

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

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

الوصف

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

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

تعديل عمود

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

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

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

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

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

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

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

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

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

يحتوي الجدول على عمودين، id وname. نحتاج إلى إضافة عمود جديد إلى الجدول وإعطائه اسم author. ما عليك سوى تشغيل الأمر التالي:

ALTER TABLE Book
  ADD author VARCHAR(50);

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

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

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

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

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

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 مع بناء الجملة التالي:

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');

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

سيؤدي هذا البيان إلى إرجاع الخطأ التالي:

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

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

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

فيما يلي بناء جملة الأمر 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) للتأكد من إضافة العمود، قم بما يلي:

  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) للتأكد من نجاح التغيير، قم بما يلي:

  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) لاختبار ذلك، قم بتشغيل الأمر التالي في محرر الاستعلام:

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) لاختبار ذلك، قم بما يلي:

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

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

    سوف يعود ما يلي:

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

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

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

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

الخطوة 2)

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

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

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

ALTER TABLE Book
  RENAME TO Books;

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

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

الخطوة 5) للتحقق مما إذا كان قد تم تغيير اسم الجدول، قم بما يلي:

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

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

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

الملخص

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

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