En PostgreSQL , la estructura de una tabla existente se puede modificar mediante la instrucción ALTER TABLE.
Syntax: ALTER TABLE table_name action;
PostgreSQL admite las diversas acciones que se deben realizar con ALTER TABLE, como se indica a continuación:
- Agregue una columna a una tabla existente como se muestra a continuación:
ALTER TABLE table_name ADD COLUMN new_column_name TYPE;
- Suelte una columna de una tabla existente como se muestra a continuación:
ALTER TABLE table_name DROP COLUMN column_name;
- Cambie el nombre de una columna de una tabla existente como se muestra a continuación:
ALTER TABLE table_name RENAME COLUMN column_name TO new_column_name;
- Cambie el valor predeterminado de una columna de una tabla existente como se muestra a continuación:
ALTER TABLE table_name ALTER COLUMN column_name [SET DEFAULT value | DROP DEFAULT];
- Cambie la restricción NOT NULL como se muestra a continuación:
ALTER TABLE table_name ALTER COLUMN column_name [SET NOT NULL| DROP NOT NULL];
- Agregue restricciones CHECK a una columna como se muestra a continuación:
ALTER TABLE table_name ADD CHECK expression;
- Agregue una restricción de la siguiente manera:
ALTER TABLE table_name ADD CONSTRAINT constraint_name constraint_definition;
- Cambie el nombre de una tabla existente como se muestra a continuación:
ALTER TABLE table_name RENAME TO new_table_name;
Ahora veamos un ejemplo. Con el mismo propósito, primero creemos una tabla (digamos, enlaces) que podamos modificar en nuestro ejemplo usando la siguiente declaración:
CREATE TABLE links ( link_id serial PRIMARY KEY, title VARCHAR (512) NOT NULL, url VARCHAR (1024) NOT NULL UNIQUE );
Ejemplo:
en este ejemplo, insertaremos una nueva columna en la tabla de enlaces como se muestra a continuación:
ALTER TABLE links ADD COLUMN active boolean;
La siguiente instrucción elimina la active
columna de la links
tabla:
ALTER TABLE links DROP COLUMN active;
Para cambiar el nombre de la title
columna a link_title
, utilice la siguiente instrucción:
ALTER TABLE links RENAME COLUMN title TO link_title;
La siguiente declaración agrega una nueva columna nombrada target
a la links
tabla:
ALTER TABLE links ADD COLUMN target VARCHAR(10);
Para establecer _blank como el valor predeterminado para la target
columna de la links
tabla, utilice la siguiente instrucción:
ALTER TABLE links ALTER COLUMN target SET DEFAULT '_blank';
Si inserta la nueva fila en la links
tabla sin especificar un valor para la columna de destino, la target
columna tomará _blank como valor predeterminado. Para demostración, insertemos algunos datos de la siguiente manera:
INSERT INTO links (link_title, url) VALUES('PostgreSQL Tutorial', 'https://www.geeksforgeeks.org/');
Consulta de datos de la tabla de enlaces:
SELECT * FROM links;
Producción:
Publicación traducida automáticamente
Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA