logo

PostgreSQL Supprimer la colonne

Dans cette section, nous allons discuter de la manière dont nous pouvons laisse tomber les colonnes avec l'aide du MODIFIER TABLE commande.

Commande PostgreSQL DROP COLUMN

Nous utiliserons la condition DROP COLUMN dans la commande ALTER TABLE pour supprimer une colonne d'un tableau :

 ALTER TABLE table_name DROP COLUMN column_name; 

PostgreSQL supprimera automatiquement toutes ses contraintes et index, y compris la colonne lors de la suppression d'une colonne d'une table, et chaque condition de suppression de colonne est séparée par un virgule (,) .

table de hachage java

Nous ne pouvons pas supprimer les colonnes dont les autres objets en dépendent et également utilisées dans d'autres objets de base de données comme déclencheurs, vues, procédures stockées, etc.

Ainsi, pour supprimer ces colonnes et tous ses objets connectés, nous utiliserons le CASCADE possibilité dans le déposer la colonne commande comme suit :

 ALTER TABLE table_name DROP COLUMN column_name CASCADE; 

Si nous voulons supprimer une colonne inexistante, PostgreSQL soulèvera un problème. Nous allons ajouter la condition IF EXISTS dans la commande drop column pour surmonter cette erreur comme nous pouvons le voir dans la commande ci-dessous :

 ALTER TABLE table_name DROP COLUMN IF EXISTS column_name; 

Dans la commande ci-dessus, si nous supprimons une colonne qui n'existe pas, PostgreSQL générera un avis plutôt qu'une erreur.

Nous utiliserons la commande ci-dessous si nous devons supprimer les différentes colonnes d'un tableau en une seule commande :

 ALTER TABLE table_name DROP COLUMN column_name_1, DROP COLUMN column_name_2; 

Exemples de commande PostgreSQL DROP COLUMN

Voyons quelques exemples pour comprendre le fonctionnement du MODIFIER LA COLONNE DE DÉPÔT DE LA TABLE commande.

exemples d'automates DFA

Nous allons donc créer trois tableaux différents, tels que Produit, catégories et marque .

PostgreSQL Supprimer la colonne

Dans le diagramme ci-dessus, chacun Produit ne contient qu'un seul marque , et chaque marque peut avoir plusieurs produits. Chaque produit est attribué à un catégorie , et chaque catégorie peut avoir différents produits.

Les commandes suivantes sont utilisées pour créer les trois tables (Catégories, produit et marque) :

Création du Catégories tableau à l’aide de la commande ci-dessous :

 CREATE TABLE Categories ( Cate_id serial PRIMARY KEY, Cate_name VARCHAR NOT NULL ); 

Sortir

Après avoir exécuté la commande ci-dessus, nous obtiendrons le message ci-dessous ; le Catégories le tableau a été créé.

PostgreSQL Supprimer la colonne

Création du Produit tableau utilisant l'instruction suivante :

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

Sortir

Après avoir exécuté la commande ci-dessus, nous obtiendrons le message ci-dessous ; le Produit le tableau a été créé.

PostgreSQL Supprimer la colonne

Création du Marque table à l'aide de la commande suivante :

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

Sortir

Après avoir exécuté la commande ci-dessus, nous obtiendrons le message ci-dessous ; le Marque le tableau a été créé.

PostgreSQL Supprimer la colonne

De plus, nous créons une vue basée sur le Produit et Marque tableaux comme suit :

 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; 

Sortir

tri des coquilles

Après avoir exécuté la commande ci-dessus, nous obtiendrons le message ci-dessous ; le Information sur le produit la vue a été créée.

PostgreSQL Supprimer la colonne

Nous utiliserons la commande suivante si nous voulons supprimer le cate_id colonne du Produit tableau:

 ALTER TABLE Product DROP COLUMN cate_id; 

Sortir

java remplace tout

Après avoir exécuté la commande ci-dessus, nous obtiendrons le message ci-dessous ; le cate_id colonne supprimée du Produit tableau.

PostgreSQL Supprimer la colonne

Si nous voulons voir le tableau dans psql, nous utiliserons la commande ci-dessous

 Javatpoint=# d Product; 

PostgreSQL Supprimer la colonne

Comme nous pouvons le voir dans la capture d'écran ci-dessus, la commande ci-dessus supprime le Colonne Cate_id et comprend le Cate_id colonne dans la contrainte de clé étrangère.

Nous allons maintenant essayer de laisser tomber le Marque_id colonne de la Produit tableau.

 ALTER TABLE Product DROP COLUMN Brand_id; 

Une fois la commande ci-dessus exécutée, PostgreSQL générera l'erreur ci-dessous :

PostgreSQL Supprimer la colonne

Il a déclaré que le information sur le produit la vue utilise la colonne Marque_id de la Produit tableau.

Nous utiliserons donc le Cascade option pour supprimer à la fois le Marque_id colonne et Information sur le produit afficher avec l'aide de la commande ci-dessous :

 ALTER TABLE Product DROP COLUMN Brand_id CASCADE; 

Une fois que nous avons implémenté la commande ci-dessus, cela augmentera le ci-dessous avis et supprimez la colonne particulière.

trimestre en affaires
PostgreSQL Supprimer la colonne

Ici, nous laisserons tomber à la fois le list_price et Model_year colonnes en une seule commande, et nous devons utiliser le COLONNE DE GOUTTES multiples conditions comme nous l’avons fait ci-dessous :

 ALTER TABLE Product DROP COLUMN List_Price, DROP COLUMN Model_year; 

Sortir

Après avoir exécuté la commande ci-dessus, nous obtiendrons la fenêtre de message ci-dessous : Le Colonnes List_price et Model_year ont été retirés du Produit tableau.

PostgreSQL Supprimer la colonne

Si nous voulons voir que les opérations ci-dessus fonctionnent correctement ou non, nous utiliserons le Sélectionner commande:

 Select * from Product ; 

Sortir

Après avoir exécuté la commande ci-dessus, nous obtiendrons le résultat ci-dessous :

PostgreSQL Supprimer la colonne