Tablas

Crear

Para crear una tabla en PostgreSQL, se utiliza la sentencia CREATE TABLE. Por ejemplo, si deseas crear una tabla de usuarios con los campos id, nombre, email y contraseña, puedes hacer lo siguiente

CREATE TABLE usuarios (
  id INT PRIMARY KEY AUTO_INCREMENT,
  nombre VARCHAR(50),
  email VARCHAR(100),
  contraseña VARCHAR(255)
);

Añadir columnas

Si deseas agregar una nueva columna a una tabla existente, puedes utilizar la sentencia ALTER TABLE. Por ejemplo, si deseas agregar una columna "telefono" a la tabla "usuarios", puedes hacer lo siguiente

ALTER TABLE usuarios ADD COLUMN telefono VARCHAR(20);

Modificar

Modificar columnas

Si deseas modificar una columna existente, puedes utilizar la sentencia ALTER TABLE y la cláusula ALTER TABLE con TYPE para establecer el tipo de dato. Por ejemplo, si deseas cambiar el tipo de datos de la columna "email" a VARCHAR(255), puedes hacer lo siguiente:

ALTER TABLE usuarios ALTER COLUMN email TYPE VARCHAR(255);

Modificar el nombre de una tabla

ALTER TABLE clientes
RENAME TO clientes_nuevos;

Modificar el nombre de una columna

ALTER TABLE usuarios RENAME COLUMN contraseña TO password;

Eliminar columna

ALTER TABLE usuarios DROP COLUMN telefono;

Eliminar tabla

DROP TABLE usuarios;

También existe la posibilidad de borrar la tabla en caso de que exista, para ello utilizamos la sentencia 'IF EXISTS'

DROP TABLE IF EXISTS usuarios;

Truncate

Si deseas eliminar todos los registros de una tabla sin eliminar la tabla en sí, puedes utilizar la sentencia TRUNCATE TABLE.

TRUNCATE TABLE usuarios;

Copiar desde otra tabla

Es posible crear una nueva tabla a partir de los datos de una tabla existente utilizando la cláusula CREATE TABLE AS. Esta cláusula permite crear una nueva tabla y copiar los datos de la tabla original en la nueva tabla. También es posible definir que columnas se quieren copiar.

Copiar todas las columnas

CREATE TABLE nueva_tabla AS
SELECT * FROM tabla_existente;

Seleccionar que columnas copiar

CREATE TABLE nueva_tabla (
  columna1 tipo_de_dato,
  columna2 tipo_de_dato,
  ...
) AS
SELECT columna1, columna2, ...
FROM tabla_existente;

Last updated