Agregar columna PostgreSQL

Agregar columna PostgreSQL
Después de crear bases de datos y poblarlas con información, rara vez necesitará alterar la estructura de la base de datos. Lo recurrente que hará es agregar o recuperar registros almacenados en la base de datos. Sin embargo, hay casos raros en los que es posible que necesite agregar una nueva columna y llenarla con datos.

En esta guía, veremos cómo alterar una tabla PostgreSQL y agregar una columna.

Uso básico

Para agregar una columna a una tabla, primero debemos especificar la "consulta alter" seguida del nombre de la tabla.

Podemos expresar la sintaxis general para agregar una columna como:

Alter tabla_name Agregar columna si no existe column_name data_type

En la sintaxis representada anteriormente, comenzamos llamando a la consulta de la tabla Alter seguido del nombre de la tabla a la que queremos agregar la columna. A continuación, especifique el nombre de la columna después de la instrucción Agregar columna.

Aunque la instrucción si no existe es opcional, puede ser una forma útil de evitar errores si existe una columna con un nombre similar.

Finalmente, especificamos el tipo de datos de la columna y las restricciones de la columna.

También puede agregar varias columnas especificando su nombre, tipo de datos y restricciones una tras otra (separadas por comas).

NOTA: PostgreSQL agrega cualquier columna nueva al final de la tabla, ya que no tiene un método para especificar la posición de la columna. Por lo tanto, para crear un nuevo diseño de columna en una tabla PostgreSQL, debe recrear la nueva tabla o usar una vista.

Ejemplos

Agreguemos una columna a la tabla de la ciudad en la base de datos de Sakila.

Alter TABLE CITY ADD COLUMN CITY_CODE VARCHAR (20);

La consulta anterior agrega la columna City_code a la tabla de la ciudad. Puede verificar utilizando la instrucción Seleccionar como:

Seleccionar * del límite de la ciudad 5;

Como se muestra en la captura de pantalla a continuación, la consulta anterior debe devolver los registros en la tabla de la ciudad con la nueva columna:

Para agregar varias columnas simultáneamente, especifique los valores de la columna en una lista como:

Alteran la ciudad de la tabla
Agregar columna si no existe la serie de población no nula,
Agregar columna si no existe las calles Varchar (255),
Agregar columna otra int;

La consulta anterior debe agregar tres columnas secuencialmente como se especifica. El orden de agregar las columnas a la tabla es como se especifica.

Por ejemplo, en la consulta anterior, la columna de población vendrá ante las calles.

En los ejemplos anteriores, todas las columnas agregadas contienen valores nulos. Para especificar el valor de un marcador de posición, podemos usar la palabra clave predeterminada.

Considere la columna del código de la ciudad. Comencemos soltando la columna.

Alter TABLE CITY Drop Column City_code;

A continuación, agregue la columna con la palabra clave Agregar columna; El valor predeterminado está en la consulta a continuación:

NOTA: La columna City_Code estará al final de la tabla.

Altertable City AddColumnCity_CodeVarchar (20) predeterminado 'aa';

En el ejemplo anterior, PostgreSQL utilizará el valor predeterminado especificado para completar los valores de la columna City_Code.

El uso del valor predeterminado especificado puede ser útil cuando la columna tiene una restricción no nula.

Agregar una columna puede tomar cualquier tipo de datos PostgreSQL compatible. Por ejemplo, lo siguiente contiene una columna de valores booleanos.

Alter stable city add column si no existe is_active boolean no nulo predeterminado verdadero;

NOTA: Dado que PostgreSQL agregará valores nulos a una columna si no se especifican valores predeterminados, es bueno agregar un valor predeterminado. Si no, PostgreSQL devolverá un error!

Por ejemplo, podemos crear una tabla como:

Alter TABLE CITY DROP COLUMNE NO_NULL
Alter table city add column si no existe no_null boolean no nulo;

En este caso, obtendremos un SQL State 23502.

Error: columna "no_null" de la relación "ciudad" contiene valores nulos
Estado SQL: 23502

SQL State 23502 indica que la operación (actualizar, establecer o insertar es nula pero el objeto no acepta valores nulos).

Conclusión

Este tutorial lo ha guiado a través de cómo usar y trabajar con la consulta de columna Agregar en PostgreSQL, lo que le permite agregar columnas a una tabla existente.