PostgreSQL ALTER TABLE: Agregar y renombrar columna
⚡ Resumen inteligente
PostgreSQL ALTER TABLE modifica la estructura de una tabla existente, permitiéndole agregar o eliminar columnas, cambiar el nombre de una columna o de toda la tabla, establecer valores predeterminados y adjuntar restricciones de verificación sin necesidad de recrear el objeto.

¿Qué es ALTER TABLE en PostgreSQL?
El ALTERAR MESA El comando se utiliza para alterar la estructura de un PostgreSQL tabla. Es el comando que se usa para cambiar las columnas de la tabla o el nombre de la tabla misma, sin eliminarla.ping y recreando el objeto.
Sintaxis
Aquí está la sintaxis para el PostgreSQL Comando ALTERAR TABLA:
ALTER TABLE table-name action;
El parámetro table-name indica el nombre de la tabla que desea modificar. El parámetro action indica la acción que debe realizar, como cambiar el nombre de una columna o el tipo de datos de una columna.
Mareas Ideales para Lecciones
El comando ALTER TABLE cambia la definición de una tabla existente. Adopta las siguientes subformas:
- AÑADIR COLUMNA: esto utiliza una sintaxis similar a la del comando CREATE TABLE para agregar una nueva columna a una tabla.
- SOLTAR COLUMNA: para caídaping una columna de tabla. Las restricciones e índices impuestos a las columnas también se eliminarán.
- CONFIGURAR/SOLIR POR DEFECTO: se utiliza para establecer o eliminar el valor predeterminado de una columna. El cambio solo se aplica a los siguientes. INSERTAR declaraciones.
- SET/DROP NO NULO: cambia si una columna permitirá valores nulos o no.
- ESTADÍSTICAS DEL CONJUNTO: para establecer el objetivo de recopilación de estadísticas para cada columna para las operaciones ANALYZE.
- ESTABLECER ALMACENAMIENTO: para configurar el modo de almacenamiento de una columna, ya sea en línea o en una tabla suplementaria.
- CONJUNTO SIN OIDS: se utiliza para eliminar la antigua columna OID de la tabla.
- REBAUTIZAR: para cambiar el nombre de la tabla o el nombre de una columna.
- AGREGAR restricción_tabla: se utiliza para agregar una nueva restricción a una tabla. Utiliza la misma sintaxis que la Crear mesa mando.
- RESTRICCIÓN DE GOTAS: se utiliza para dejar caerping una restricción de tabla.
- PROPIETARIO: para cambiar el propietario de una tabla, secuencia, índice o vista a un usuario determinado.
- GRUPO: para marcar una tabla que se utilizará en futuras operaciones de clúster.
Modificar una columna
Una columna puede modificarse de varias maneras. Dichas modificaciones se realizan mediante el comando ALTER TABLE. A continuación, las analizaremos.
Agregar una nueva columna
Para agregar una nueva columna a un PostgreSQL tabla, el comando ALTER TABLE se utiliza con la siguiente sintaxis:
ALTER TABLE table-name ADD new-column-name column-definition;
El nombre de la tabla es el nombre de la tabla que se va a modificar. El nombre de la nueva columna es el nombre de la nueva columna que se va a añadir. La definición de la columna es el nombre de la nueva columna que se va a añadir. tipo de datos de la nueva columna. Consulte la tabla del libro que se muestra a continuación:
La tabla tiene dos columnas: id y nombre. Necesitamos agregar una nueva columna a la tabla y llamarla autor. Simplemente ejecute el siguiente comando:
ALTER TABLE Book ADD author VARCHAR(50);
Después de ejecutar el comando anterior, la tabla Libro ahora es la siguiente:
La nueva columna se agregó correctamente.
Cambiar el nombre de una columna de tabla
Podemos utilizar el comando ALTER TABLE para cambiar el nombre de una columna. En este caso, el comando se utiliza con la siguiente sintaxis:
ALTER TABLE table-name RENAME COLUMN old-name TO new-name;
El nombre de la tabla es el nombre de la tabla cuya columna se va a renombrar. El nombre anterior es el nombre actual de la columna, y el nombre nuevo es el nuevo nombre de la columna. Considere la tabla Libro que se muestra a continuación:
Libro:
Necesitamos cambiar el nombre de la columna "autor" a "autor_libro". Aquí está el comando:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Después de ejecutar el comando, podemos ver la estructura de la tabla:
El nombre de la columna se cambió correctamente.
Establecer un valor predeterminado para una columna
Podemos establecer un valor predeterminado para una columna, de modo que incluso cuando no se especifique un valor para esa columna durante las operaciones INSERT, se utilizará el valor predeterminado. En este caso, el comando ALTER TABLE se puede utilizar con la siguiente sintaxis:
ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];
El nombre de la tabla es el nombre de la tabla cuya columna se va a modificar. El nombre de la columna es el nombre de la columna cuyo valor predeterminado se va a establecer, y el valor es el valor predeterminado para la columna. Considere la tabla Libro que se muestra a continuación:
Necesitamos establecer un valor predeterminado para la columna book_author. Podemos ejecutar el siguiente comando:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Ahora, insertemos una fila en la tabla:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners');
Tenga en cuenta que solo insertamos valores para dos columnas: id y nombre. Sin embargo, se ha utilizado el valor predeterminado para la columna book_author:
Agregar una restricción de verificación
Una restricción de verificación ayuda a validar los registros que se insertan en una tabla. Podemos hacer esto combinando el comando ALTER TABLE con la instrucción ADD CHECK. Sintaxis:
ALTER TABLE table-name ADD CHECK expression;
El nombre de la tabla es el nombre de la tabla que se va a modificar, y la expresión es la restricción que se va a imponer a la columna de la tabla. Modifiquemos la columna book_author de la tabla Book para que solo acepte los valores Nicholas y Samuel:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));
Ahora, intentemos insertar un valor que no sea Nicholas o Samuel en la columna book_author de la tabla Libro:
INSERT INTO Book VALUES(7, 'Mejores PostgreSQL Book', 'Gregory Bush');
La declaración devolverá el siguiente error:
La operación de inserción falló porque violamos la restricción de verificación.
Cambiar el nombre de una tabla
Aquí está la sintaxis del comando ALTER TABLE para cambiar el nombre de una tabla:
ALTER TABLE table-name RENAME TO new-table-name;
El nombre de la tabla es el nombre actual de la tabla, y el nuevo nombre de la tabla es el nuevo nombre que se le asignará. Por ejemplo, cambiemos el nombre de la tabla Libro a Libros:
ALTER TABLE Book RENAME TO Books;
Usando pgAdmin
Hasta ahora, las acciones se han ejecutado desde la consola SQL. Veamos ahora cómo se pueden realizar estas mismas acciones visualmente usando pgAdmin.
Agregar una nueva columna
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- En la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
ALTER TABLE Book ADD author VARCHAR(50);
Paso 4) Haga clic en el botón Ejecutar.
Paso 5) Para comprobar si se agregó la columna, haga lo siguiente:
- Haga clic en Bases de datos en la navegación izquierda.
- Expanda Demostración.
- Expanda Esquemas.
- Expandir Público.
- Expanda Tablas.
- Ampliar libro.
- Expanda columnas.
La columna debería haberse agregado, como se muestra a continuación:
Cambiar el nombre de una columna de tabla
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- En la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Paso 4) Haga clic en el botón Ejecutar.
Paso 5) Para comprobar si el cambio se realizó correctamente, expanda las columnas de la tabla de libros como antes:
Las columnas ahora deberían ser las siguientes:
La columna se cambió correctamente.
Establecer un valor predeterminado para una columna
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- En la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Paso 4) Haga clic en el botón Ejecutar.
Paso 5) Para realizar la prueba, ejecute el siguiente comando en el editor de consultas:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners')
Paso 6) Ahora, podemos consultar la tabla para verificar si el valor predeterminado se insertó en la columna book_author:
Agregar una restricción de verificación
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- En la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))
Paso 4) Haga clic en el botón Ejecutar.
Paso 5) Para probar esto, escriba la siguiente consulta en el editor de consultas y haga clic en el botón Ejecutar:
INSERT INTO Book VALUES(7, 'Mejores PostgreSQL Book', 'Gregory Bush');
Devolverá lo siguiente:
Cambiar el nombre de una tabla
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- En la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
ALTER TABLE Book RENAME TO Books;
Paso 4) Haga clic en el botón Ejecutar.
Paso 5) Para comprobar si se cambió el nombre de la tabla, expanda Bases de datos > Demo > Esquemas > Público > Tablas:
Se cambió el nombre de la tabla con éxito.
Descargue la Base de Datos utilizada en este Tutorial

























