JavaRush /Курсы /SQL SELF /Основы создания таблиц: CREATE TABLE

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

SQL SELF
17 уровень , 0 лекция
Открыта

На первых лекциях мы заложили базовые знания о реляционных базах данных и PostgreSQL, изучили, как работать с psql и pgAdmin, а также научились создавать и управлять базами данных. Теперь настало время перейти к созданию основного "строительного материала" реляционных баз данных – таблиц. Именно таблицы хранят всю информацию, которую мы потом сможем фильтровать, сортировать или объединять.

Создавать таблицы в PostgreSQL можно с помощью команды CREATE TABLE. Команда описывает структуру таблицы: её название, столбцы и их типы данных.

Общая структура команды

Вот как выглядит базовый синтаксис:

CREATE TABLE таблица (
    колонка1 тип_данных constraints,
    колонка2 тип_данных constraints,
    ...
);

Разбираем по частям:

  • таблица – имя таблицы (например, students).
  • колонка1 – имя столбца (например, id, name).
  • тип_данных – тип данных столбца (например, INTEGER, VARCHAR).
  • constraints – ограничения для данных (например, NOT NULL, PRIMARY KEY).

Теперь создадим нашу первую таблицу.

Пример создания таблицы

Сценарий: в учебной базе данных нужно хранить данные о студентах. Для этого создадим таблицу students с полями:

  • id: уникальный идентификатор студента (автоматически увеличивается);
  • name: имя студента (длина строки до 100 символов);
  • age: возраст студента (положительное целое число).
CREATE TABLE students (
    id SERIAL PRIMARY KEY,  -- уникальный ID студента
    name VARCHAR(100),      -- имя
    age INTEGER             -- возраст
);

Что здесь происходит:

  1. id SERIAL PRIMARY KEY: создаётся столбец id, который автоматически генерирует уникальные числа (1, 2, 3...) для каждой строки. Также он является первичным ключом таблицы.
  2. name VARCHAR(100): создаётся текстовый столбец, где VARCHAR(100) означает, что строка может быть длиной до 100 символов.
  3. age INTEGER: создаётся числовой столбец для хранения возраста.

Теперь, если мы выполним этот запрос в psql или pgAdmin, таблица students будет создана.

Типы данных для столбцов

При создании таблицы важно выбрать правильный тип данных для каждого столбца. PostgreSQL предлагает множество типов, но начнём с самых популярных.

Тип данных Описание Пример значений
INTEGER Целые числа. Хорошо подходит для возраста, количества чего-то, идентификаторов. 1, 42, 100
VARCHAR(n) Строка длиной до n символов. Идеально для текстов с ограниченной длиной. 'Alice', 'Bob'
TEXT Неограниченные строки. Используется для длинных текстов (например, описание продукта). 'Very long text...'
DATE Дата без времени. Используется для записи дат рождения, событий. 2023-10-12
BOOLEAN Логический тип: TRUE или FALSE. Используется для флагов (например, выполнено/нет). TRUE, FALSE

Выбор подходящего типа данных

  • Если вы храните числа – используйте INTEGER.
  • Для строк с известным ограничением длины – лучше выбрать VARCHAR(n).
  • Для текста без ограничений – используйте TEXT.
  • Даты и времена храните в DATE или TIMESTAMP.

Пример: создаём таблицу courses

Предположим, что в нашей базе данных также нужно хранить информацию о курсах. У каждого курса есть:

  • id: уникальный идентификатор;
  • name: название курса (строка до 100 символов);
  • description: описание курса (длинный текст);
  • start_date: дата начала курса.

SQL-код:

CREATE TABLE courses (
    id SERIAL PRIMARY KEY,      -- уникальный ID курса
    name VARCHAR(100),          -- название курса
    description TEXT,           -- описание
    start_date DATE             -- дата старта
);

Практическое задание

Теперь ваша очередь создать таблицу! Вот задание:

  1. Создайте таблицу teachers с полями:
    • id: уникальный идентификатор.
    • name: имя учителя (строка до 50 символов).
    • subject: предмет, который он/она преподаёт (строка до 50 символов).
    • hire_date: дата приёма на работу.

Пример кода для выполнения:

CREATE TABLE teachers (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50),
    subject VARCHAR(50),
    hire_date DATE
);

После выполнения используйте команду \d teachers в psql, чтобы убедиться, что таблица создана.

Типичные ошибки при создании таблиц

Когда начинаешь работать с таблицами, могут возникнуть ошибки. Вот несколько частых ситуаций:

Ошибка в названии таблицы или столбца. В PostgreSQL имена не регистрозависимы, но если вы используете кавычки " вокруг названий, вам нужно быть внимательным. Например, CREATE TABLE "MyTable" создаёт таблицу "MyTable", а mytable не распознается как её название.

Неправильный тип данных. Если указать несуществующий тип данных, запрос завершится ошибкой.

CREATE TABLE example (
    column1 STRANGE_TYPE
);

Этот запрос не выполнится, потому что STRANGE_TYPE не существует.

Пропуск PRIMARY KEY. Если вы забыли добавить первичный ключ, то таблица создастся, но идентифицировать строки будет сложнее.

2
Задача
SQL SELF, 17 уровень, 0 лекция
Недоступна
Создание базовой таблицы
Создание базовой таблицы
2
Задача
SQL SELF, 17 уровень, 0 лекция
Недоступна
Создание таблицы с различными типами данных
Создание таблицы с различными типами данных
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ