CREATE TABLE в PostgreSQL: создание таблицы

Оператор CREATE TABLE в PostgreSQL используется для создания новой таблицы в базе данных. Он позволяет определить имена столбцов, их типы данных, ограничения и другие свойства.

Основы оператора CREATE TABLE

Базовый синтаксис:

CREATE TABLE table_name (
    column1 datatype CONSTRAINT,
    column2 datatype CONSTRAINT
);

Пример создания таблицы пользователей:

CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    age INT CHECK (age > 0),
    city VARCHAR(50)
);

Определение ограничений

Можно задавать различные ограничения для столбцов:

  • PRIMARY KEY – уникальный идентификатор строки.
  • NOT NULL – запрет на NULL значения.
  • CHECK – условие для проверки значений.
  • UNIQUE – уникальность значений.
  • FOREIGN KEY – ссылка на другой столбец.

Пример с внешним ключом:

CREATE TABLE orders (
    id SERIAL PRIMARY KEY,
    user_id INT REFERENCES users(id),
    amount DECIMAL(10, 2) NOT NULL
);

Создание таблицы с значением по умолчанию

Можно задать DEFAULT значение для столбца:

CREATE TABLE products (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    price DECIMAL(10,2) DEFAULT 0.00
);

Создание временной таблицы

Временные таблицы (TEMPORARY или TEMP) существуют только в рамках текущей сессии:

CREATE TEMP TABLE temp_users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100)
);