PostgreSQL - Comando ALTER TABLE
El PostgreSQL ALTER TABLE El comando se usa para agregar, eliminar o modificar columnas en una tabla existente.
También usaría el comando ALTER TABLE para agregar y eliminar varias restricciones en una tabla existente.
Sintaxis
La sintaxis básica de ALTER TABLE para agregar una nueva columna en una tabla existente es la siguiente:
ALTER TABLE table_name ADD column_name datatype;
La sintaxis básica de ALTER TABLE para DROP COLUMN en una tabla existente es la siguiente:
ALTER TABLE table_name DROP COLUMN column_name;
La sintaxis básica de ALTER TABLE para cambiar el DATA TYPE de una columna en una tabla es la siguiente:
ALTER TABLE table_name ALTER COLUMN column_name TYPE datatype;
La sintaxis básica de ALTER TABLE para agregar un NOT NULL La restricción a una columna en una tabla es la siguiente:
ALTER TABLE table_name MODIFY column_name datatype NOT NULL;
La sintaxis básica de ALTER TABLE para ADD UNIQUE CONSTRAINT a una mesa es la siguiente:
ALTER TABLE table_name
ADD CONSTRAINT MyUniqueConstraint UNIQUE(column1, column2...);
La sintaxis básica de ALTER TABLE para ADD CHECK CONSTRAINT a una mesa es la siguiente:
ALTER TABLE table_name
ADD CONSTRAINT MyUniqueConstraint CHECK (CONDITION);
La sintaxis básica de ALTER TABLE para ADD PRIMARY KEY La restricción a una tabla es la siguiente:
ALTER TABLE table_name
ADD CONSTRAINT MyPrimaryKey PRIMARY KEY (column1, column2...);
La sintaxis básica de ALTER TABLE para DROP CONSTRAINT de una tabla es la siguiente:
ALTER TABLE table_name
DROP CONSTRAINT MyUniqueConstraint;
Si está utilizando MySQL, el código es el siguiente:
ALTER TABLE table_name
DROP INDEX MyUniqueConstraint;
La sintaxis básica de ALTER TABLE para DROP PRIMARY KEY La restricción de una tabla es la siguiente:
ALTER TABLE table_name
DROP CONSTRAINT MyPrimaryKey;
Si está utilizando MySQL, el código es el siguiente:
ALTER TABLE table_name
DROP PRIMARY KEY;
Ejemplo
Considere que nuestra tabla EMPRESA tiene los siguientes registros:
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
El siguiente es el ejemplo para AGREGAR una nueva columna en una tabla existente:
testdb=# ALTER TABLE COMPANY ADD GENDER char(1);
Ahora, se cambia la tabla EMPRESA y lo siguiente sería el resultado de la instrucción 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)
El siguiente es el ejemplo para DROP gender column de la tabla existente:
testdb=# ALTER TABLE COMPANY DROP GENDER;
Ahora, se cambia la tabla EMPRESA y lo siguiente sería el resultado de la instrucción 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