PostgreSQL - CREAR tabla

La declaración CREATE TABLE de PostgreSQL se usa para crear una nueva tabla en cualquiera de las bases de datos.

Sintaxis

La sintaxis básica de la instrucción CREATE TABLE es la siguiente:

CREATE TABLE table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
   PRIMARY KEY( one or more columns )
);

CREATE TABLE es una palabra clave que le dice al sistema de base de datos que cree una nueva tabla. El nombre o identificador exclusivo de la tabla sigue a la instrucción CREATE TABLE. Inicialmente, la tabla vacía en la base de datos actual es propiedad del usuario que emite el comando.

Luego, entre paréntesis, viene la lista, que define cada columna de la tabla y qué tipo de tipo de datos es. La sintaxis se aclarará con un ejemplo a continuación.

Ejemplos

El siguiente es un ejemplo, que crea una tabla EMPRESA con ID como clave principal y NOT NULL son las restricciones que muestran que estos campos no pueden ser NULL mientras se crean registros en esta tabla:

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

Creemos una tabla más, que usaremos en nuestros ejercicios en los capítulos siguientes:

CREATE TABLE DEPARTMENT(
   ID INT PRIMARY KEY      NOT NULL,
   DEPT           CHAR(50) NOT NULL,
   EMP_ID         INT      NOT NULL
);

Puede verificar si su tabla se ha creado correctamente utilizando \d comando, que se utilizará para enumerar todas las tablas en una base de datos adjunta.

testdb-# \d

La declaración de PostgreSQL dada anteriormente producirá el siguiente resultado:

List of relations
 Schema |    Name    | Type  |  Owner
--------+------------+-------+----------
 public | company    | table | postgres
 public | department | table | postgres
(2 rows)

Utilizar \d tablename para describir cada tabla como se muestra a continuación -

testdb-# \d company

La declaración de PostgreSQL dada anteriormente producirá el siguiente resultado:

Table "public.company"
  Column   |     Type      | Modifiers
-----------+---------------+-----------
 id        | integer       | not null
 name      | text          | not null
 age       | integer       | not null
 address   | character(50) |
 salary    | real          |
 join_date | date          |
Indexes:
    "company_pkey" PRIMARY KEY, btree (id)