Postgresql: как создать таблицу командой create table?
Работа с базами данных PostgreSQL часто требует создания новых таблиц. Это можно сделать с помощью команды CREATE TABLE. Давайте разберемся, как использовать эту команду для создания таблицы в PostgreSQL.
Синтаксис команды CREATE TABLE
Синтаксис команды CREATE TABLE в PostgreSQL выглядит следующим образом:
CREATE TABLE table_name ( column1 datatype constraints, column2 datatype constraints, ... );
Где:
- table_name - имя создаваемой таблицы;
- column - название столбца;
- datatype - тип данных для столбца (integer, varchar, date и т.д.);
- constraints - ограничения для данных в столбце (NOT NULL, UNIQUE, PRIMARY KEY и т.д.).
Давайте разберем пример создания простой таблицы products со столбцами id, name и price:
CREATE TABLE products ( id serial PRIMARY KEY, name varchar(50) NOT NULL, price numeric(8,2) );
Здесь мы объявляем таблицу products и задаем для нее три столбца: id, name и price. Для каждого столбца указываем тип данных и ограничения.
Основные типы данных в PostgreSQL
PostgreSQL поддерживает широкий спектр типов данных для столбцов таблицы. Вот основные из них:
- integer - целое число;
- varchar(n) - строка фиксированной длины;
- text - строка неограниченной длины;
- date - дата;
- boolean - логический тип данных true/false.
При создании таблицы нужно выбирать подходящие типы данных для каждого столбца.
Ограничения для столбцов таблицы
При создании таблицы можно задавать ограничения для отдельных столбцов. Это позволяет добавить дополнительную проверку вводимых данных.
Некоторые распространенные ограничения:
- NOT NULL - не допускает NULL значения в столбце;
- UNIQUE - значения в столбце должны быть уникальными;
- PRIMARY KEY - столбец является первичным ключом;
- CHECK - проверка вводимого значения по условию.
Например, в нашей таблице products мы объявили столбец name с ограничением NOT NULL. Это означает, что при добавлении данных значение для name обязательно должно быть указано.
Создание таблицы из результата запроса
В PostgreSQL есть удобная возможность создавать таблицу на основе данных из другой таблицы или результата запроса. Для этого используется конструкция CREATE TABLE ... AS SELECT ... . Например:
CREATE TABLE products_archive AS SELECT * FROM products WHERE date < '2020-01-01';
Эта команда создаст таблицу products_archive и заполнит ее данными из таблицы products отфильтрованными по условию в SELECT запросе.
Итоги
Использование команды CREATE TABLE - основной способ создания новых таблиц в PostgreSQL. Мы рассмотрели синтаксис этой команды, основные типы данных и ограничения для столбцов. Также узнали, как создать таблицу на основе результата SELECT запроса. Эти знания помогут эффективно работать с данными в PostgreSQL.