In questa sezione discuteremo come possiamo farlo rilasciare le colonne con l'aiuto di ALTERARE LA TABELLA comando.
Comando PostgreSQL DROP COLUMN
Utilizzeremo la condizione DROP COLUMN nel comando ALTER TABLE per eliminare una colonna di una tabella:
ALTER TABLE table_name DROP COLUMN column_name;
PostgreSQL eliminerà automaticamente tutti i suoi vincoli e indici, inclusa la colonna mentre eliminerà una colonna da una tabella, e ogni condizione di colonna di rilascio sarà separata da un virgola (,) .
Non possiamo eliminare quelle colonne da cui dipendono gli altri oggetti e utilizzate anche in altri oggetti di database come trigger, visualizzazioni, procedure memorizzate, eccetera.
Quindi, per rimuovere quelle colonne e tutti gli oggetti collegati, utilizzeremo il file CASCATA opzione nel colonna di rilascio comandare come segue:
ALTER TABLE table_name DROP COLUMN column_name CASCADE;
Se vogliamo eliminare una colonna inesistente, PostgreSQL solleverà un problema. Aggiungeremo la condizione IF EXISTS nel comando drop column per superare questo errore, come possiamo vedere nel comando seguente:
ALTER TABLE table_name DROP COLUMN IF EXISTS column_name;
Nel comando precedente, se eliminiamo una colonna che non esiste, PostgreSQL genererà un avviso anziché un errore.
Utilizzeremo il comando seguente se avremo bisogno di rimuovere le varie colonne di una tabella in un unico comando:
ALTER TABLE table_name DROP COLUMN column_name_1, DROP COLUMN column_name_2;
Esempi di comando PostgreSQL DROP COLUMN
Vediamo alcuni esempi per comprendere il funzionamento del ALTER TABLE DROP COLONNA comando.
Quindi, creeremo tre tabelle diverse, come Prodotto, categorie e marchio .
Nel diagramma sopra, ciascuno Prodotto ne contiene solo uno marca e ogni marchio può avere diversi prodotti. Ad ogni prodotto è assegnato a categoria e ogni categoria può avere diversi prodotti.
I seguenti comandi vengono utilizzati per creare le tre tabelle (Categorie, Prodotto e Marchio) :
Creare il Categorie tabella con l'aiuto del comando seguente:
CREATE TABLE Categories ( Cate_id serial PRIMARY KEY, Cate_name VARCHAR NOT NULL );
Produzione
Dopo aver eseguito il comando precedente, otterremo il messaggio seguente; IL Categorie la tabella è stata creata.
Creare il Prodotto tabella utilizzando la seguente istruzione:
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) );
Produzione
Dopo aver eseguito il comando precedente, otterremo il messaggio seguente; IL Prodotto la tabella è stata creata.
Creare il Marca tabella utilizzando il seguente comando:
CREATE TABLE Brand ( Brand_id serial PRIMARY KEY, Brand_name VARCHAR NOT NULL );
Produzione
Dopo aver eseguito il comando precedente, otterremo il messaggio seguente; IL Marca la tabella è stata creata.
Java se altro
Inoltre, creiamo una vista basata su Prodotto E Marca tabelle come segue:
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;
Produzione
Dopo aver eseguito il comando precedente, otterremo il messaggio seguente; IL Informazioni sul prodotto vista è stata creata.
Utilizzeremo il seguente comando se vogliamo eliminare il file cate_id colonna del Prodotto tavolo:
ALTER TABLE Product DROP COLUMN cate_id;
Produzione
Dopo aver eseguito il comando precedente, otterremo il messaggio seguente; IL cate_id colonna eliminata da Prodotto tavolo.
Se vogliamo vedere la tabella in psql, utilizzeremo il comando seguente
Javatpoint=# d Product;
Come possiamo vedere nello screenshot qui sopra, il comando precedente elimina il file Colonna Cate_id e include il Cate_id colonna nel vincolo di chiave esterna.
Ora proveremo a eliminare il file Brand_id colonna da Prodotto tavolo.
ALTER TABLE Product DROP COLUMN Brand_id;
Una volta eseguito il comando precedente, PostgreSQL genererà l'errore seguente:
Ha affermato che il informazioni sul prodotto view utilizza la colonna Brand_id del Prodotto tavolo.
Quindi utilizzeremo il file cascata opzione per eliminare entrambi i file Brand_id colonna e Informazioni sul prodotto visualizza con l'aiuto del comando seguente:
ALTER TABLE Product DROP COLUMN Brand_id CASCADE;
Una volta implementato il comando precedente, aumenterà il comando seguente avviso e rilasciare la colonna particolare.
Qui, elimineremo entrambi i file list_price e Model_year colonne in un unico comando e dobbiamo utilizzare il file COLONNA DROP multipla condizioni come abbiamo fatto di seguito:
ALTER TABLE Product DROP COLUMN List_Price, DROP COLUMN Model_year;
Produzione
Dopo aver eseguito il comando precedente, otterremo la finestra del messaggio seguente: The Colonne List_price e Model_year sono stati eliminati dal Prodotto tavolo.
Se vogliamo vedere che le operazioni di cui sopra funzionino correttamente o meno, utilizzeremo il file Selezionare comando:
Select * from Product ;
Produzione
Dopo aver eseguito il comando precedente, otterremo l'output seguente: