PostgreSQL: instrucción CREAR TABLA

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

PostgreSQL: instrucción CREAR TABLA

Este tutorial de PostgreSQL explica cómo usar PostgreSQL crear declaración de tabla Con sintaxis y ejemplos.

describir

postgresql crear declaración de tabla Le permite crear y definir tablas.

sintaxis

La forma más simple de la instrucción CREATE TABLE en PostgreSQL es:

CREATE TABLE table_name
( 
  column1 datatype [ NULL | NOT NULL ],
  column2 datatype [ NULL | NOT NULL ],
  ...
);

Sin embargo, la sintaxis completa de la instrucción CREATE TABLE de PostgreSQL es:

CREATE [ [ GLOBAL TEMPORARY
         | GLOBAL TEMP
         | LOCAL TEMPORARY
         | LOCAL TEMP
         | UNLOGGED ]
  TABLE [IF NOT EXISTS] table_name
( 
  column1 datatype [ COLLATE collation ]
                   [ CONSTRAINT constraint_name ]
                   { NULL
                   | NOT NULL
                   | CHECK ( expression ) [ NO INHERIT ]
                   | DEFAULT default_value
                   | UNIQUE index_parameters
                   | PRIMARY KEY index_parameters
                   | REFERENCES ref_table [ ( ref_column ) ]
                      [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]
                      [ ON DELETE action ]
                      [ ON UPDATE action ] }
                   [ DEFERRABLE | NOT DEFERRABLE ]
                   [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ],

  column2 datatype [ COLLATE collation ]
                   [ CONSTRAINT constraint_name ]
                   { NULL
                   | NOT NULL
                   | CHECK ( expression ) [ NO INHERIT ]
                   | DEFAULT default_value
                   | UNIQUE index_parameters
                   | PRIMARY KEY index_parameters
                   | REFERENCES ref_table [ ( ref_column ) ]
                      [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]
                      [ ON DELETE action ]
                      [ ON UPDATE action ] }
                   [ DEFERRABLE | NOT DEFERRABLE ]
                   [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ],

  ...

 | [ CONSTRAINT constraint_name ]
     { CHECK ( expression ) [ NO INHERIT ]
     | UNIQUE ( index_col_name, ... )
     | PRIMARY KEY ( index_col_name, ... )
     | FOREIGN KEY ( index_col_name, ... )
         REFERENCES another_table_name (index_col_name, ...)
            [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]
            [ ON DELETE action ]
            [ ON UPDATE action ]

 | LIKE source_table
     { INCLUDING | EXCLUDING }
     { DEFAULTS | CONSTRAINTS | INDEXES | STORAGE | COMMENTS | ALL }

 [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
 [ TABLESPACE tablespace_name ]

);

parámetro o parámetro

GLOBAL TEMPORARY y GLOBAL TEMP son opcionales. Si se especifica alguno de estos, la tabla es una tabla temporal global. LOCAL TEMPORAL y LOCAL TEMP son opcionales. Si se especifica alguno de estos, la tabla es una tabla temporal local. Indocumentado opcional. Si se especifica, los datos de la tabla no se escriben en el registro de escritura anticipada. Esto mejora el rendimiento de la tabla; sin embargo, en caso de falla, los datos de la tabla se perderán. Opcional si no está presente. Si se especifica, la instrucción CREATE TABLE no generará un error si la tabla ya existe. table_name El nombre de la tabla que desea crear. column1, column2 Las columnas que desea crear en la tabla. tipo de datos El tipo de datos de la columna. CONSTRAINT nombre_restricción Opcional. El nombre de la restricción. NULL o NOT NULL Cada columna debe definirse como NULL o NOT NULL. Si se omite este parámetro, la base de datos asume NULL como valor predeterminado. DEFAULT valor_predeterminado Opcional. Si se deja en blanco o NULL, es el valor asignado a la columna.

ejemplo

Veamos un ejemplo de CREATE TABLE de PostgreSQL.

CREATE TABLE order_details
( order_detail_id integer CONSTRAINT order_details_pk PRIMARY KEY,
  order_id integer NOT NULL,
  order_date date,
  quantity integer,
  notes varchar(200)
);

Este ejemplo de CREATE TABLE de PostgreSQL crea una tabla llamada order_details con 5 columnas y una clave principal:

  • La primera columna, llamada order_detail_id, se crea como un tipo de datos entero y no puede contener valores NULL porque es la clave principal de la tabla.
  • La segunda columna se llama order_id, que es un tipo de datos entero y no puede contener valores NULL.
  • La tercera columna se llama order_date, que es un tipo de datos de fecha y puede contener valores NULL.
  • La cuarta columna se llama Cantidad, que es un tipo de datos entero y puede contener valores NULL.
  • La quinta columna, denominada notas, es un tipo de datos varchar (longitud máxima de 200 caracteres) y puede contener valores NULL.
  • La clave principal se llama order_details_pk y se establece en la columna order_detail_id.

También puede escribir una declaración CREATE TABLE de la siguiente manera:

CREATE TABLE order_details
( order_detail_id integer NOT NULL,
  order_id integer NOT NULL,
  order_date date,
  quantity integer,
  notes varchar(200),
  CONSTRAINT order_details_pk PRIMARY KEY (order_detail_id)
);

La diferencia entre las dos declaraciones CREATE TABLE es cómo se define PRIMARY KEY. Ambos métodos son aceptables en PostgreSQL.

A continuación, creemos una tabla con valores predeterminados.

CREATE TABLE order_details
( order_detail_id integer NOT NULL,
  order_id integer NOT NULL,
  order_date date,
  quantity integer,
  notes varchar(200) NOT NULL DEFAULT 'Standard shipping',
  CONSTRAINT order_details_pk PRIMARY KEY (order_detail_id)
);

Este ejemplo de CREATE TABLE de PostgreSQL crea una tabla llamada order_details con 5 columnas y una clave principal:

  • La primera columna, llamada order_detail_id, se crea como un tipo de datos entero y no puede contener valores NULL.
  • La segunda columna se llama order_id, que es un tipo de datos entero y no puede contener valores NULL.
  • La tercera columna se llama order_date, que es un tipo de datos de fecha y puede contener valores NULL.
  • La cuarta columna se llama Cantidad, que es un tipo de datos entero y puede contener valores NULL.
  • La quinta columna, llamada Comentario, es un tipo de datos varchar (hasta 200 caracteres) y no puede contener valores NULL. Si no se proporciona ningún valor para esta columna, el valor predeterminado será “Envío estándar”.
  • La clave principal se llama order_details_pk y se establece en la columna order_detail_id.