În această secțiune, vom discuta cum putem aruncați coloanele cu ajutorul ALTER TABLE comanda.
Comanda PostgreSQL DROP COLUMN
Vom folosi condiția DROP COLUMN din comanda ALTER TABLE pentru a elimina o coloană dintr-un tabel:
ALTER TABLE table_name DROP COLUMN column_name;
PostgreSQL va șterge automat toate constrângerile și indecșii săi, inclusiv coloana în timp ce șterge o coloană dintr-un tabel, iar fiecare condiție de eliminare a coloanei este separată de un virgula (,) .
Nu putem șterge acele coloane în care celelalte obiecte depind de ele și utilizate și în alte obiecte de bază de date, cum ar fi declanșatoare, vizualizări, proceduri stocate, etc.
java dacă altceva
Deci, pentru a elimina acele coloane și toate obiectele conectate, vom folosi CASCADĂ opțiunea în drop coloana comandă după cum urmează:
ALTER TABLE table_name DROP COLUMN column_name CASCADE;
Dacă dorim să ștergem o coloană inexistentă, PostgreSQL va ridica o problemă. Vom adăuga condiția IF EXISTS în comanda drop column pentru a trece peste această eroare, așa cum putem vedea în comanda de mai jos:
ALTER TABLE table_name DROP COLUMN IF EXISTS column_name;
În comanda de mai sus, dacă ștergem o coloană, care nu există, PostgreSQL va ridica o notificare mai degrabă decât o eroare.
Vom folosi comanda de mai jos dacă trebuie să eliminăm diferitele coloane ale unui tabel într-o singură comandă:
ALTER TABLE table_name DROP COLUMN column_name_1, DROP COLUMN column_name_2;
Exemple de comanda PostgreSQL DROP COLUMN
Să vedem câteva exemple pentru a înțelege funcționarea ALTER TABLE DROP COLUMNA comanda.
Deci, vom crea trei tabele diferite, cum ar fi Produs, categorii și marcă .
În diagrama de mai sus, fiecare Produs conţine doar unul marca , iar fiecare brand poate avea mai multe produse. Fiecare produs este atribuit unui categorie , iar fiecare categorie poate avea diverse produse.
nume de orașe din SUA
Următoarele comenzi sunt folosite pentru a crea cele trei tabele (Categorii, produs și marcă) :
Crearea Categorii tabel cu ajutorul comenzii de mai jos:
CREATE TABLE Categories ( Cate_id serial PRIMARY KEY, Cate_name VARCHAR NOT NULL );
Ieșire
După executarea comenzii de mai sus, vom primi mesajul de mai jos; cel Categorii tabelul a fost creat.
Crearea Produs tabel folosind următoarea afirmație:
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) );
Ieșire
După executarea comenzii de mai sus, vom primi mesajul de mai jos; cel Produs tabelul a fost creat.
Crearea Marca tabel folosind următoarea comandă:
CREATE TABLE Brand ( Brand_id serial PRIMARY KEY, Brand_name VARCHAR NOT NULL );
Ieșire
După executarea comenzii de mai sus, vom primi mesajul de mai jos; cel Marca tabelul a fost creat.
În plus, creăm o vizualizare bazată pe Produs și Marca tabele după cum urmează:
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;
Ieșire
onclick js
După executarea comenzii de mai sus, vom primi mesajul de mai jos; cel Informatiile produsului vizualizarea a fost creată.
Vom folosi următoarea comandă dacă dorim să ștergem cate_id coloana a Produs masa:
ALTER TABLE Product DROP COLUMN cate_id;
Ieșire
căutarea bfs
După executarea comenzii de mai sus, vom primi mesajul de mai jos; cel cate_id coloana a scăzut din Produs masa.
Dacă vrem să vedem tabelul în psql, vom folosi comanda de mai jos
Javatpoint=# d Product;
După cum putem vedea în captura de ecran de mai sus, comanda de mai sus șterge fișierul Coloana Cate_id și include Cate_id coloană în constrângerea cheii externe.
Acum vom încerca să renunțăm la Brand_id coloana din Produs masa.
ALTER TABLE Product DROP COLUMN Brand_id;
Odată ce executăm comanda de mai sus, PostgreSQL va genera eroarea de mai jos:
S-a precizat că informatiile produsului vizualizarea folosește coloana Brand_id al Produs masa.
Deci, vom folosi cascadă opțiunea de a șterge atât Brand_id coloana si Informatiile produsului vizualizați cu ajutorul comenzii de mai jos:
ALTER TABLE Product DROP COLUMN Brand_id CASCADE;
Odată ce implementăm comanda de mai sus, aceasta va ridica cea de mai jos înștiințare și aruncați coloana anume.
Aici, vom arunca ambele list_price și Model_year coloane într-o singură comandă și trebuie să folosim multiplu DROP COLUMN condiții așa cum am făcut mai jos:
javascript pentru buclă
ALTER TABLE Product DROP COLUMN List_Price, DROP COLUMN Model_year;
Ieșire
După executarea comenzii de mai sus, vom primi fereastra de mesaj de mai jos: The Coloanele List_price și Model_year au fost aruncate din Produs masa.
Dacă vrem să vedem că operațiunile de mai sus funcționează bine sau nu, vom folosi Selectați comanda:
Select * from Product ;
Ieșire
După executarea comenzii de mai sus, vom obține rezultatul de mai jos: