Tabla ALTER de PostgreSQL: AÑADIR columna, Renombrar columna / Ejemplos de tabla

El comando ALTER TABLE se usa para alterar la estructura de una tabla PostgreSQL. Es el comando que se usa para cambiar las columnas de la tabla o el nombre de la tabla.

En este tutorial, aprenderá:

  • Sintaxis
  • Descripción
  • Modificar una columna
    • Agregar una nueva columna
    • Cambiar el nombre de una columna de tabla
  • Establecer un valor predeterminado para una columna
  • Agregar una restricción de verificación
  • Cambiar el nombre de una tabla
  • Usando pgAdmin

Sintaxis

Aquí está la sintaxis del comando ALTER TABLE de PostgreSQL:

ALTER TABLE table-name action;

El parámetro table-name es el nombre de la tabla que necesita cambiar.

El parámetro de acción es la acción que debe realizar, como cambiar el nombre de una columna, cambiar el tipo de datos de una columna, etc.

Descripción

El comando ALTER TABLE cambia la definición de una tabla existente. Toma los siguientes subformularios:

  • AGREGAR COLUMNA : utiliza una sintaxis similar a la del comando CREAR TABLA para agregar una nueva columna a una tabla.
  • DROP COLUMN : para eliminar una columna de la tabla. También se eliminarán las restricciones y los índices impuestos a las columnas.
  • SET / DROP DEFAULT : se utiliza para eliminar el valor predeterminado de una columna. Sin embargo, el cambio solo se aplicará a las siguientes declaraciones INSERT.
  • SET / DROP NOT NULL : Cambia si una columna permitirá valores nulos o no.
  • CONFIGURAR ESTADÍSTICAS: para configurar el objetivo de recopilación de estadísticas para cada columna para las operaciones ANALIZAR.
  • CONFIGURAR ALMACENAMIENTO : Para configurar el modo de almacenamiento de una columna. Esto determinará dónde se coloca la columna, ya sea en línea o en una tabla complementaria.
  • SET SIN OIDS : Úselo para quitar la columna antigua de la tabla.
  • RENAME : para cambiar el nombre de la tabla o el nombre de una columna.
  • ADD table_constraint : Úselo para agregar una nueva restricción a una tabla. Usa la misma sintaxis que el comando CREATE TABLE.
  • RESTRICCIÓN DE CAÍDA : se utiliza para eliminar una restricción de tabla.
  • PROPIETARIO : para cambiar el propietario de una tabla, secuencia, índice o vista a un determinado usuario.
  • CLUSTER : para marcar una tabla que se utilizará para realizar futuras operaciones de cluster.

Modificar una columna

Una columna se puede modificar de varias formas. Estas modificaciones se pueden realizar mediante el comando ALTER TABLE. Discutamos estos:

Agregar una nueva columna

Para agregar una nueva columna a una tabla de PostgreSQL, el comando ALTER TABLE se usa con la siguiente sintaxis:

ALTER TABLE table-nameADD new-column-name column-definition;

El nombre de la tabla es el nombre de la tabla que se va a modificar.

New-column-name es el nombre de la nueva columna que se agregará.

La definición de columna es el tipo de datos de la nueva columna.

Consulte la tabla de libros que se muestra a continuación:

La tabla tiene dos columnas, id y name. Necesitamos agregar una nueva columna a la tabla y darle el nombre de autor. Simplemente ejecute el siguiente comando:

ALTER TABLE BookADD author VARCHAR(50);

Después de ejecutar el comando anterior, la tabla de libros ahora es la siguiente:

La nueva columna se agregó correctamente.

Cambiar el nombre de una columna de tabla

Podemos usar el comando ALTER TABLE para cambiar el nombre de una columna. En este caso, el comando se usa con la siguiente sintaxis:

ALTER TABLE table-nameRENAME 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 antiguo es el nombre antiguo / actual de la columna.

El nuevo nombre es el nuevo nombre de la columna. Considere el libro de mesa que se muestra a continuación:

Libro:

Necesitamos el nombre del autor de la columna para book_author. Aquí está el comando:

ALTER TABLE BookRENAME 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 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-columna es el nombre cuyo valor predeterminado se va a establecer.

El valor es el valor predeterminado de la columna.

Considere la tabla de libros 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 insertamos valores para solo dos columnas, id y name. 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.

La expresión es la restricción que se impondrá 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 Book:

INSERT INTO BookVALUES(7, 'Best 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-nameRENAME TO new-table-name;

El nombre de la tabla es el nombre actual de la tabla.

New-table-name es el nuevo nombre que se asignará a la tabla.

Por ejemplo, cambiemos el nombre de la tabla de libros a Libros:

ALTER TABLE BookRENAME TO Books;

Usando pgAdmin

Ahora veamos cómo se pueden realizar estas acciones usando pgAdmin.

Agregar una nueva columna

Para lograr lo mismo a través de pgAdmin, haga esto:

Paso 1) Inicie sesión en su cuenta pgAdmin.

Paso 2)

  1. Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  2. Haga clic en Demo.

Paso 3) Escriba la consulta en el editor de consultas:

ALTER TABLE BookADD author VARCHAR(50);

Paso 4) Haga clic en el botón Ejecutar.

Paso 5) Para verificar si se agregó la columna, haga lo siguiente:

  1. Haga clic en Bases de datos en el panel de navegación de la izquierda.
  2. Expanda la demostración.
  3. Expanda Esquemas.
  4. Expanda Público.
  5. Expanda Tablas.
  6. Expandir libro.
  7. Expanda Columnas.

La columna debería haberse agregado, como se muestra a continuación:

Cambiar el nombre de una columna de tabla

Para lograr lo mismo a través de pgAdmin, haga esto:

Paso 1) Inicie sesión en su cuenta pgAdmin.

Paso 2)

  1. Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  2. Haga clic en Demo.

Paso 3) Escriba la consulta en el editor de consultas:

ALTER TABLE BookRENAME COLUMN author TO book_author;

Paso 4) Haga clic en el botón Ejecutar.

Paso 5) Para verificar si el cambio fue exitoso, haga lo siguiente:

  1. Haga clic en Bases de datos en el panel de navegación de la izquierda.
  2. Expanda la demostración.
  3. Expanda Esquemas.
  4. Expanda Público.
  5. Expanda Tablas.
  6. Expandir libro.
  7. Expanda Columnas.

Las columnas ahora deberían ser las siguientes:

La columna se cambió correctamente.

Establecer un valor predeterminado para una columna

Para lograr lo mismo a través de pgAdmin, haga esto:

Paso 1) Inicie sesión en su cuenta pgAdmin.

Paso 2)

  1. Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  2. Haga clic en Demo.

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 probar, 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

Para lograr lo mismo a través de pgAdmin, haga esto:

Paso 1) Inicie sesión en su cuenta pgAdmin.

Paso 2)

  1. Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  2. Haga clic en Demo.

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, haga lo siguiente:

  1. Escriba la siguiente consulta en el editor de consultas:
    INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
  2. Haga clic en el botón Ejecutar.

    Devolverá lo siguiente:

Cambiar el nombre de una tabla

Para lograr lo mismo a través de pgAdmin, haga esto:

Paso 1) Inicie sesión en su cuenta pgAdmin.

Paso 2)

  1. Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  2. Haga clic en Demo.

Paso 3) Escriba la consulta en el editor de consultas:

ALTER TABLE BookRENAME TO Books;

Paso 4) Haga clic en el botón Ejecutar.

Paso 5) Para comprobar si se cambió el nombre de la tabla, haga lo siguiente:

  1. Haga clic en Bases de datos en el panel de navegación de la izquierda.
  2. Expanda la demostración.
  3. Expanda Esquemas.
  4. Expanda Público.
  5. Expanda Tablas.

La tabla se renombró correctamente.

Resumen:

  • La instrucción ALTER TABLE se utiliza para modificar la estructura de la tabla.
  • El comando ALTER TABLE toma varias formas dependiendo de la tarea que necesite realizar.
  • La estructura puede ser las columnas de la tabla o la propia tabla.
  • Podemos usar esta declaración para cambiar el nombre de una tabla.
  • El comando ALTER TABLE se puede utilizar para establecer el valor predeterminado de una columna.
  • La declaración se puede utilizar para validar los valores que se ingresan en una columna de la tabla.

Descargue la base de datos utilizada en este tutorial

Articulos interesantes...