PostgreSQL - Commande ALTER TABLE

Le PostgreSQL ALTER TABLE La commande est utilisée pour ajouter, supprimer ou modifier des colonnes dans une table existante.

Vous utiliserez également la commande ALTER TABLE pour ajouter et supprimer diverses contraintes sur une table existante.

Syntaxe

La syntaxe de base de ALTER TABLE pour ajouter une nouvelle colonne dans une table existante est comme suit -

ALTER TABLE table_name ADD column_name datatype;

La syntaxe de base d'ALTER TABLE pour DROP COLUMN dans une table existante est la suivante -

ALTER TABLE table_name DROP COLUMN column_name;

La syntaxe de base d'ALTER TABLE pour changer le DATA TYPE d'une colonne dans un tableau est comme suit -

ALTER TABLE table_name ALTER COLUMN column_name TYPE datatype;

La syntaxe de base d'ALTER TABLE pour ajouter un NOT NULL la contrainte à une colonne dans une table est la suivante -

ALTER TABLE table_name MODIFY column_name datatype NOT NULL;

La syntaxe de base d'ALTER TABLE pour ADD UNIQUE CONSTRAINT à une table est comme suit -

ALTER TABLE table_name
ADD CONSTRAINT MyUniqueConstraint UNIQUE(column1, column2...);

La syntaxe de base d'ALTER TABLE pour ADD CHECK CONSTRAINT à une table est comme suit -

ALTER TABLE table_name
ADD CONSTRAINT MyUniqueConstraint CHECK (CONDITION);

La syntaxe de base d'ALTER TABLE pour ADD PRIMARY KEY la contrainte à une table est la suivante -

ALTER TABLE table_name
ADD CONSTRAINT MyPrimaryKey PRIMARY KEY (column1, column2...);

La syntaxe de base d'ALTER TABLE pour DROP CONSTRAINT à partir d'une table est la suivante -

ALTER TABLE table_name
DROP CONSTRAINT MyUniqueConstraint;

Si vous utilisez MySQL, le code est le suivant -

ALTER TABLE table_name
DROP INDEX MyUniqueConstraint;

La syntaxe de base d'ALTER TABLE pour DROP PRIMARY KEY la contrainte d'une table est la suivante -

ALTER TABLE table_name
DROP CONSTRAINT MyPrimaryKey;

Si vous utilisez MySQL, le code est le suivant -

ALTER TABLE table_name
DROP PRIMARY KEY;

Exemple

Considérez que notre table COMPANY contient les enregistrements suivants -

id | name  | age | address   | salary
----+-------+-----+-----------+--------
  1 | Paul  |  32 | California|  20000
  2 | Allen |  25 | Texas     |  15000
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000
  6 | Kim   |  22 | South-Hall|  45000
  7 | James |  24 | Houston   |  10000

Voici l'exemple pour AJOUTER une nouvelle colonne dans une table existante -

testdb=# ALTER TABLE COMPANY ADD GENDER char(1);

Maintenant, la table COMPANY est modifiée et ce qui suit serait la sortie de l'instruction SELECT -

id | name  | age | address     | salary | gender
----+-------+-----+-------------+--------+--------
  1 | Paul  |  32 | California  |  20000 |
  2 | Allen |  25 | Texas       |  15000 |
  3 | Teddy |  23 | Norway      |  20000 |
  4 | Mark  |  25 | Rich-Mond   |  65000 |
  5 | David |  27 | Texas       |  85000 |
  6 | Kim   |  22 | South-Hall  |  45000 |
  7 | James |  24 | Houston     |  10000 |
(7 rows)

L'exemple suivant illustre la suppression de la colonne de genre de la table existante -

testdb=# ALTER TABLE COMPANY DROP GENDER;

Maintenant, la table COMPANY est modifiée et ce qui suit serait la sortie de l'instruction SELECT -

id | name  | age | address   | salary
----+-------+-----+-----------+--------
  1 | Paul  |  32 | California|  20000
  2 | Allen |  25 | Texas     |  15000
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000
  6 | Kim   |  22 | South-Hall|  45000
  7 | James |  24 | Houston   |  10000