Buscar..


Creación de tablas con clave primaria

CREATE TABLE person (
    person_id BIGINT NOT NULL,
    last_name VARCHAR(255) NOT NULL,
    first_name VARCHAR(255),
    address VARCHAR(255),
    city VARCHAR(255),
    PRIMARY KEY (person_id)
);

Alternativamente, puede colocar la restricción PRIMARY KEY directamente en la definición de columna:

CREATE TABLE person (
    person_id BIGINT NOT NULL PRIMARY KEY,
    last_name VARCHAR(255) NOT NULL,
    first_name VARCHAR(255),
    address VARCHAR(255),
    city VARCHAR(255)
);

Se recomienda utilizar nombres en minúsculas para la tabla y también para todas las columnas. Si usa nombres en mayúsculas, como Person , tendría que ajustar ese nombre entre comillas dobles ( "Person" ) en todas y cada una de las consultas, porque PostgreSQL impone el plegado de casos.

Mostrar definición de tabla

Abra la herramienta de línea de comandos psql conectada a la base de datos donde se encuentra su tabla. Luego escribe el siguiente comando:

\d tablename

Para obtener el tipo de información extendida

\d+ tablename

Si ha olvidado el nombre de la tabla, simplemente escriba \ d en psql para obtener una lista de tablas y vistas en la base de datos actual.

Crear tabla desde seleccionar

Digamos que tienes una mesa llamada person:

CREATE TABLE person (
    person_id BIGINT NOT NULL,
    last_name VARCHAR(255) NOT NULL,
    first_name VARCHAR(255),
    age INT NOT NULL,
    PRIMARY KEY (person_id)
);     

Puedes crear una nueva tabla de personas mayores de 30 como esta:

CREATE TABLE people_over_30 AS SELECT * FROM person WHERE age > 30;

Crear tabla no registrada

Puede crear tablas no registradas para que pueda hacer las tablas considerablemente más rápido. La tabla no registrada salta la escritura write-ahead registro de write-ahead que significa que no es seguro y no se puede replicar.

CREATE UNLOGGED TABLE person (
    person_id BIGINT NOT NULL PRIMARY KEY,
    last_name VARCHAR(255) NOT NULL,
    first_name VARCHAR(255),
    address VARCHAR(255),
    city VARCHAR(255)
);

Cree una tabla que haga referencia a otra tabla.

En este ejemplo, la tabla de usuario tendrá una columna que hace referencia a la tabla de agencia.

CREATE TABLE agencies ( -- first create the agency table
  id SERIAL PRIMARY KEY,
  name TEXT NOT NULL
)

CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  agency_id NOT NULL INTEGER REFERENCES agencies(id) DEFERRABLE INITIALLY DEFERRED -- this is going to references your agency table.
)


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow