logo

عمود إسقاط PostgreSQL

في هذا القسم، سنناقش كيف يمكننا ذلك إسقاط الأعمدة بمساعدة تغيير الجدول يأمر.

أمر PostgreSQL DROP COLUMN

سوف نستخدم شرط DROP COLUMN في أمر ALTER TABLE لإسقاط عمود من الجدول:

 ALTER TABLE table_name DROP COLUMN column_name; 

سيقوم PostgreSQL تلقائيًا بحذف جميع القيود والفهارس الخاصة به، بما في ذلك العمود أثناء حذف عمود من الجدول، ويتم فصل كل حالة عمود إسقاط بـ فاصلة (،) .

لا يمكننا حذف تلك الأعمدة التي تعتمد عليها الكائنات الأخرى وتستخدم أيضًا في كائنات قاعدة البيانات الأخرى مثل المشغلات، وجهات النظر، والإجراءات المخزنة، إلخ.

تبديل حالة جافا

لذلك، لإزالة تلك الأعمدة وجميع الكائنات المرتبطة بها، سوف نستخدم تتالي الخيار في إسقاط العمود الأمر على النحو التالي:

 ALTER TABLE table_name DROP COLUMN column_name CASCADE; 

إذا أردنا حذف عمود غير موجود، فسوف يثير PostgreSQL مشكلة. سنضيف شرط IF EXISTS في أمر عمود الإسقاط للتغلب على هذا الخطأ كما نرى في الأمر أدناه:

 ALTER TABLE table_name DROP COLUMN IF EXISTS column_name; 

في الأمر أعلاه، إذا قمنا بحذف عمود غير موجود، فسيقوم PostgreSQL بإصدار إشعار بدلاً من الخطأ.

سنستخدم الأمر أدناه إذا أردنا إزالة الأعمدة المختلفة للجدول في أمر واحد:

 ALTER TABLE table_name DROP COLUMN column_name_1, DROP COLUMN column_name_2; 

أمثلة على أمر PostgreSQL DROP COLUMN

دعونا نرى بعض الأمثلة لفهم عمل تغيير عمود إسقاط الجدول يأمر.

لذلك، سوف نقوم بإنشاء ثلاثة جداول مختلفة، مثل المنتج والفئات والعلامة التجارية .

عمود إسقاط PostgreSQL

في الرسم البياني أعلاه، كل منتج يحتوي على واحد فقط ماركة ، ويمكن أن تحتوي كل علامة تجارية على العديد من المنتجات. يتم تعيين كل منتج ل فئة ، ويمكن أن تحتوي كل فئة على منتجات مختلفة.

يتم استخدام الأوامر التالية لإنشاء الجداول الثلاثة (الفئات والمنتج والعلامة التجارية) :

إنشاء فئات الجدول بمساعدة الأمر أدناه:

كود جافا الزائف
 CREATE TABLE Categories ( Cate_id serial PRIMARY KEY, Cate_name VARCHAR NOT NULL ); 

انتاج |

بعد تنفيذ الأمر أعلاه، سوف نحصل على الرسالة أدناه؛ ال فئات تم إنشاء الجدول.

عمود إسقاط PostgreSQL

إنشاء منتج الجدول باستخدام العبارة التالية:

 CREATE TABLE Product ( Pro_id serial PRIMARY KEY, Pro_name VARCHAR NOT NULL, Brand_id INT NOT NULL, Cate_id INT NOT NULL, List_price DECIMAL NOT NULL, Model_year SMALLINT NOT NULL, FOREIGN KEY (Cate_id) REFERENCES Categories (Cate_id), FOREIGN KEY (Brand_id) REFERENCES Brand (Brand_id) ); 

انتاج |

بعد تنفيذ الأمر أعلاه، سوف نحصل على الرسالة أدناه؛ ال منتج تم إنشاء الجدول.

عمود إسقاط PostgreSQL

إنشاء ماركة الجدول باستخدام الأمر التالي:

 CREATE TABLE Brand ( Brand_id serial PRIMARY KEY, Brand_name VARCHAR NOT NULL ); 

انتاج |

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

أمثلة على برمجة بايثون
عمود إسقاط PostgreSQL

الى جانب ذلك، نقوم بإنشاء وجهة نظر على أساس منتج و ماركة الجداول على النحو التالي:

 CREATE VIEW Product_info AS SELECT Pro_id, Pro_name, Brand_name FROM Product p INNER JOIN Brand B ON B .Brand_id = p.Brand_id ORDER BY Pro_name; 

انتاج |

بعد تنفيذ الأمر أعلاه، سوف نحصل على الرسالة أدناه؛ ال معلومات المنتج تم إنشاء العرض.

عمود إسقاط PostgreSQL

سوف نستخدم الأمر التالي إذا أردنا حذف الملف cate_id عمود من منتج طاولة:

 ALTER TABLE Product DROP COLUMN cate_id; 

انتاج |

بعد تنفيذ الأمر أعلاه، سوف نحصل على الرسالة أدناه؛ ال cate_id انخفض العمود من منتج طاولة.

عمود إسقاط PostgreSQL

إذا أردنا رؤية الجدول في psql، فسنستخدم الأمر أدناه

 Javatpoint=# d Product; 

عمود إسقاط PostgreSQL

كما نرى في لقطة الشاشة أعلاه، فإن الأمر أعلاه يحذف ملف عمود Cate_id ويتضمن Cate_id العمود في قيد المفتاح الخارجي.

الآن سنحاول إسقاط معرف_العلامة التجارية عمود من منتج طاولة.

 ALTER TABLE Product DROP COLUMN Brand_id; 

بمجرد تنفيذ الأمر أعلاه، سيظهر PostgreSQL الخطأ أدناه:

عمود إسقاط PostgreSQL

وذكرت أن معلومات المنتج العرض يستخدم العمود معرف_العلامة التجارية التابع منتج طاولة.

سلاسل إلى أعداد صحيحة

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

 ALTER TABLE Product DROP COLUMN Brand_id CASCADE; 

بمجرد تنفيذ الأمر أعلاه، سيتم رفع ما يلي يلاحظ وإسقاط العمود المعين.

عمود إسقاط PostgreSQL

وهنا سوف نقوم بإسقاط كلا من list_price و Model_year الأعمدة في أمر واحد، ونحن بحاجة إلى استخدام عمود إسقاط متعدد الشروط كما فعلنا أدناه:

 ALTER TABLE Product DROP COLUMN List_Price, DROP COLUMN Model_year; 

انتاج |

بعد تنفيذ الأمر أعلاه، سوف نحصل على نافذة الرسالة أدناه: عمودا List_price وModel_year تم إسقاطها من منتج طاولة.

عمود إسقاط PostgreSQL

إذا أردنا أن نرى أن العمليات المذكورة أعلاه تعمل بشكل جيد أم لا، فسنستخدم الأمر يختار يأمر:

 Select * from Product ; 

انتاج |

بعد تنفيذ الأمر أعلاه، سنحصل على الإخراج أدناه:

عمود إسقاط PostgreSQL