Puedes usar el comando ALTER TABLE para pe­r­so­na­li­zar tablas en Po­s­t­gre­S­QL. El comando se utiliza con una acción para, por ejemplo, añadir o modificar columnas.

¿Qué es Po­s­t­gre­S­QL ALTER TABLE?

El comando ALTER TABLE se utiliza en Po­s­t­gre­S­QL para modificar tablas exi­s­te­n­tes. Se puede usar para añadir o eliminar una columna o para pe­r­so­na­li­zar­la según tus propias ne­ce­si­da­des. Además, Po­s­t­gre­S­QL ALTER TABLE se utiliza para es­ta­ble­cer o eliminar re­s­tri­c­cio­nes para una tabla en el sistema gestor de base de datos. Para lograr el resultado deseado, se debe es­pe­ci­fi­car el comando con una acción.

Se­r­vi­do­res dedicados
Re­n­di­mie­n­to e in­no­va­ción
  • Pro­ce­sa­do­res de última ge­ne­ra­ción
  • Hardware dedicado de alto re­n­di­mie­n­to
  • Seguridad de primer nivel

ALTER TABLE: sintaxis

Para una co­m­pre­n­sión básica, vale la pena echar un vistazo a la sintaxis básica de ALTER TABLE. Es la siguiente:

ALTER TABLE nombre_de_la_tabla acción;
po­s­t­gre­s­ql

El comando real es seguido por el nombre de la tabla en la que se quiere realizar cambios. A co­n­ti­nua­ción, es­pe­ci­fi­ca el comando Po­s­t­gre­S­QL ALTER TABLE con la acción deseada.

Consejo

Para crear una nueva tabla, utiliza el comando CREATE TABLE en Po­s­t­gre­S­QL.

Po­s­t­gre­S­QL ALTER TABLE: ejemplos

En las si­guie­n­tes secciones, se muestran ejemplos prácticos para ilustrar cómo funciona ALTER TABLE. Para ello, se ha creado una tabla de ejemplo con el nombre “Clientes”, que ini­cia­l­me­n­te contiene tres columnas y tres filas. Su aspecto es el siguiente:

ID Nombre Ciudad
1 Sánchez Los Ángeles
2 Morales Nueva York
3 Santos Chicago

Esto ahora se puede pe­r­so­na­li­zar de varias maneras con ALTER TABLE en Po­s­t­gre­S­QL.

Añadir columna con Po­s­t­gre­S­QL ADD COLUMN

Para añadir una columna adicional, utiliza ALTER TABLE en co­m­bi­na­ción con Po­s­t­gre­S­QL ADD COLUMN. Esta acción tiene dos pa­rá­me­tros: el nombre de la columna y el tipo de datos de la columna. La sintaxis es la siguiente:

ALTER TABLE nombre_de_tabla ADD COLUMN nombre_de_columna tipo_datos;
po­s­t­gre­s­ql

Si queremos añadir una columna para la dirección a nuestra tabla “Clientes”, uti­li­za­mos Po­s­t­gre­S­QL ADD COLUMN de la siguiente manera:

ALTER TABLE Clientes ADD COLUMN Dirección VARCHAR(255);
po­s­t­gre­s­ql

La nueva tabla ampliada tiene ahora el siguiente aspecto:

ID Nombre Ciudad Dirección
1 Sánchez Los Ángeles NULL
2 Morales Nueva York NULL
3 Santos Chicago NULL

Borrar columnas con DROP COLUMN

Se procede de forma muy similar si queremos eliminar una columna de la tabla existente. Para ello, uti­li­za­mos Po­s­t­gre­S­QL ALTER TABLE en co­m­bi­na­ción con la acción DROP COLUMN. Esta acción tiene como único parámetro el nombre de la columna. Esta es la sintaxis:

ALTER TABLE nombre_de_tabla DROP COLUMN nombre_de_columna;
po­s­t­gre­s­ql

Para eliminar la columna “Ciudad”, uti­li­za­mos este código:

ALTER TABLE clientes DROP COLUMN ciudad;
po­s­t­gre­s­ql

La tabla ahora solo consta de tres columnas:

ID Nombre Dirección
1 Sánchez NULL
2 Morales NULL
3 Santos NULL

Renombrar columnas con RENAME COLUMN

También se puede renombrar una columna existente, lo que puede ser una buena al­te­r­na­ti­va a borrar o añadir nuevas columnas. La sintaxis de RENAME COLUMN dentro de ALTER TABLE es la siguiente:

ALTER TABLE nombre_de_tabla RENAME COLUMN nombre_de_columna TO nuevo_nombre;
po­s­t­gre­s­ql

Aquí co­n­ve­r­ti­mos la columna “Nombre” en la columna “Nombre del cliente”:

ALTER TABLE clientes RENAME COLUMN nombre TO nombre_cliente;
po­s­t­gre­s­ql

En nuestra tabla, solo cambia el nombre de la columna como deseamos:

ID Nombre del cliente Dirección
1 Sánchez NULL
2 Morales NULL
3 Santos NULL

Otras acciones para Po­s­t­gre­S­QL ALTER TABLE

Hay muchas otras acciones que puedes utilizar junto con ALTER TABLE. Estas son las más im­po­r­ta­n­tes:

Para cambiar el tipo de datos de una columna:

ALTER TABLE nombre_de_tabla ALTER COLUMN nombre_de_columna TYPE tipo_datos;
po­s­t­gre­s­ql

Para es­pe­ci­fi­car que una columna debe recibir un valor:

ALTER TABLE nombre_de_tabla ALTER COLUMN nombre_de_columna SET NOT NULL;
po­s­t­gre­s­ql

Para es­ta­ble­cer re­s­tri­c­cio­nes como UNIQUE o PRIMARY KEY para una columna, utiliza Po­s­t­gre­S­QL ALTER TABLE en co­m­bi­na­ción con la acción ADD CONSTRAINT:

ALTER TABLE nombre_de_tabla ADD CONSTRAINT nombre_de_restricción definición_de_restricción;
po­s­t­gre­s­ql
Ir al menú principal