PostgreSQL ALTERar tabla: AGREGAR columna, cambiar nombre de columna/ejemplos de tabla
El comando ALTER TABLE se utiliza para alterar la estructura de una PostgreSQL mesa. Es el comando que se utiliza para cambiar las columnas de la tabla o el nombre de la tabla.
Sintaxis
Aquรญ estรก la sintaxis para el PostgreSQL Comando ALTERAR TABLA:
ALTER TABLE table-name action;
El parรกmetro nombre-tabla 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. 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 eliminar el valor predeterminado de una columna. Sin embargo, el cambio sรณlo se aplicarรก a las siguientes INSERTAR declaraciones.
- SET/DROP NO NULO: Cambia si una columna permitirรก valores nulos o no.
- ESTABLECER ESTADรSTICAS: 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. Esto determinarรก dรณnde se mantiene la columna, ya sea en lรญnea o en una tabla complementaria.
- CONJUNTO SIN OIDS: รselo para eliminar la columna anterior 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 Crear mesa mando.
- RESTRICCIรN DE GOTAS: Utilizar para dejar caerping una restricciรณn de tabla.
- PROPIETARIO: para cambiar el propietario de una tabla, secuencia, รญndice o vista a un determinado usuario.
- GRUPO:para marcar una tabla que se utilizarรก para realizar futuras operaciones de clรบster.
Modificar una columna
Una columna se puede modificar de varias maneras. Estas modificaciones se pueden realizar utilizando el comando ALTER TABLE. Analicemos estos:
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 agregarรก.
La definiciรณn de columna es la 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 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 cambiar el nombre.
El nombre antiguo es el nombre antiguo/actual de la columna.
El nuevo nombre es el nuevo nombre de la columna. Considere la tabla Libro que se muestra a continuaciรณn:
Libro:
Necesitamos el nombre del autor de la columna book_author. 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 si no especificamos un valor para esa columna durante las operaciones INSERT, se utilice 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 cuyo valor predeterminado se establecerรก.
El valor es el valor predeterminado para la columna.
Considere la tabla de libros que se proporciona 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 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.
La expresiรณn es la restricciรณn que se impondrรก a la columna de la tabla.
Modifiquemos la columna book_author de la tabla Libro 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.
El nuevo nombre de la tabla es el nuevo nombre que se asignarรก a la tabla.
Por ejemplo, cambiemos el nombre de la tabla Libro a Libros:
ALTER TABLE Book RENAME 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)
- Desde 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
Para lograr lo mismo a travรฉs de pgAdmin, haga esto:
Paso 1) Inicie sesiรณn en su cuenta pgAdmin.
Paso 2)
- Desde 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, 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.
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)
- Desde 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 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)
- Desde 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, haga lo siguiente:
- Escriba la siguiente consulta en el editor de consultas:
INSERT INTO Book VALUES(7, 'Mejores PostgreSQL Book', 'Gregory Bush');
- 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)
- Desde 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, haga lo siguiente:
- Haga clic en Bases de datos en la navegaciรณn izquierda.
- Expanda Demostraciรณn.
- Expanda Esquemas.
- Expandir Pรบblico.
- Expanda Tablas.
Se cambiรณ el nombre de la tabla con รฉxito.
Resumen
- La instrucciรณn ALTER TABLE se utiliza para modificar la estructura de la tabla.
- El comando ALTER TABLE adopta varias formas segรบn la tarea que deba realizar.
- La estructura pueden ser las columnas de la tabla o la tabla misma.
- 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.

























