בחלק זה, אנו הולכים לדון כיצד אנו יכולים שחרר את העמודות בעזרת ה שינוי טבלה פקודה.
פקודת 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 יעלה הודעה ולא שגיאה.
mysql הצג את כל המשתמשים
נשתמש בפקודה שלהלן אם נצטרך להסיר את העמודות השונות של טבלה בפקודה אחת:
ALTER TABLE table_name DROP COLUMN column_name_1, DROP COLUMN column_name_2;
דוגמאות לפקודת PostgreSQL DROP COLUMN
הבה נראה כמה דוגמאות כדי להבין את פעולתו של שינוי עמודת ירידה בטבלה פקודה.
אז, ניצור שלוש טבלאות שונות, כגון מוצר, קטגוריות ומותג .
בתרשים לעיל, כל אחד מוצר מכיל רק אחד מותג , ולכל מותג יכולים להיות מספר מוצרים. כל מוצר מוקצה ל-a קטגוריה , ולכל קטגוריה יכולים להיות מוצרים שונים.
הפקודות הבאות משמשות ליצירת שלוש הטבלאות (קטגוריות, מוצר ומותג) :
יצירת ה קטגוריות טבלה בעזרת הפקודה הבאה:
CREATE TABLE Categories ( Cate_id serial PRIMARY KEY, Cate_name VARCHAR NOT NULL );
תְפוּקָה
לאחר ביצוע הפקודה לעיל, נקבל את ההודעה למטה; ה קטגוריות נוצרה טבלה.
יצירת ה מוצר טבלה באמצעות המשפט הבא:
פקודת מתיחה של autocad
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) );
תְפוּקָה
לאחר ביצוע הפקודה לעיל, נקבל את ההודעה למטה; ה מוצר נוצרה טבלה.
יצירת ה מותג טבלה באמצעות הפקודה הבאה:
CREATE TABLE Brand ( Brand_id serial PRIMARY KEY, Brand_name VARCHAR NOT NULL );
תְפוּקָה
לאחר ביצוע הפקודה לעיל, נקבל את ההודעה למטה; ה מותג נוצרה טבלה.
חוץ מזה, אנו יוצרים תצוגה המבוססת על מוצר ו מותג טבלאות כדלקמן:
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;
תְפוּקָה
לאחר ביצוע הפקודה לעיל, נקבל את ההודעה למטה; ה מידע על המוצר התצוגה נוצרה.
נשתמש בפקודה הבאה אם נרצה למחוק את cate_id עמודה של מוצר שולחן:
ALTER TABLE Product DROP COLUMN cate_id;
תְפוּקָה
לאחר ביצוע הפקודה לעיל, נקבל את ההודעה למטה; ה cate_id עמודה ירדה מה מוצר שולחן.
מתי מסתיים q1
אם נרצה לראות את הטבלה ב-psql, נשתמש בפקודה למטה
Javatpoint=# d Product;
כפי שאנו יכולים לראות בצילום המסך לעיל, הפקודה לעיל מוחקת את עמודה Cate_id וכולל את Cate_id עמודה לתוך אילוץ המפתח הזר.
כעת ננסה להוריד את Brand_id עמודה מה מוצר שולחן.
ALTER TABLE Product DROP COLUMN Brand_id;
ברגע שנבצע את הפקודה לעיל, PostgreSQL יעלה את השגיאה הבאה:
הוא קבע כי ה מידע_מוצר התצוגה משתמשת בעמודה Brand_id של ה מוצר שולחן.
אז, נשתמש ב- אֶשֶׁד אפשרות למחוק את שניהם Brand_id עמודה ו מידע על המוצר הצג בעזרת הפקודה למטה:
ALTER TABLE Product DROP COLUMN Brand_id CASCADE;
ברגע שנטמיע את הפקודה לעיל, היא תעלה את הפקודה למטה הודעה ושחרר את העמודה הספציפית.
כאן, נוריד את שניהם מחיר רשימה ושנת_דגם עמודות בפקודה אחת, ועלינו להשתמש ב- DROP עמודה מרובה תנאים כפי שעשינו להלן:
ALTER TABLE Product DROP COLUMN List_Price, DROP COLUMN Model_year;
תְפוּקָה
לאחר ביצוע הפקודה לעיל, נקבל את חלון ההודעה למטה: The עמודות מחיר_מחיר ודגם_שנת הושמטו מה- מוצר שולחן.
אם אנחנו רוצים לראות שהפעולות שלעיל פועלות בסדר או לא, נשתמש ב- בחר פקודה:
Select * from Product ;
תְפוּקָה
לאחר ביצוע הפקודה לעיל, נקבל את הפלט שלהלן: