Неделя 1
Учебное пособие - Бинариум
Создание и заполнение БД
Книга 2
SQL — три языка

Все операторы SQL делятся на три группы в зависимости от того, с чем они работают.

  • DDL (Data Definition Language)

    Создание, изменение и удаление объектов БД.

  • DCL (Data Control Language)
    Управление правами доступа к данным.
  • DML (Data Manipulation Language)
    Вставка, чтение, изменение, удаление строк.

#️⃣ DDL операторы

DDL предназначен для создания, удаления и изменения основных объектов реляционных СУБД.

💡 Таблица

Таблица — основной объект хранения информации в реляционной БД. Состоит из строк и столбцов, занимает физическое пространство и может быть постоянной или временной.

CREATE TABLE
Оператор создания таблицы — фундаментальная конструкция SQL.

#️⃣ Синтаксис

#️⃣ Пример

Атрибуты столбцов

При создании столбцов можно задавать ограничения — атрибуты, контролирующие допустимые значения.

PRIMARY KEY

Задаёт первичный ключ таблицы — уникально идентифицирует каждую строку. Столбец с PRIMARY KEY автоматически получает NOT NULL.

AUTO_INCREMENT

Значение столбца автоматически увеличивается на 1 при добавлении каждой новой строки. Работает только с целочисленными типами и числами с плавающей точкой.

UNIQUE

Столбец может хранить только уникальные значения. В отличие от PRIMARY KEY, таких ограничений в таблице может быть несколько.

NOT NULL / NULL

Указывает, может ли столбец принимать значение NULL. Если атрибут не задан явно — по умолчанию допускается NULL. Исключение: PRIMARY KEY всегда NOT NULL.

DEFAULT

Задаёт значение по умолчанию. Используется, если при INSERT значение для столбца не указано.

CHECK

Ограничение на диапазон допустимых значений. При попытке записать несоответствующее значение — ошибка.

CONSTRAINT

Позволяет задать имя ограничению, чтобы потом управлять им — удалять или изменять. Применяется к PRIMARY KEY, UNIQUE, CHECK, FOREIGN KEY.
Типы данных
Тип данных столбца определяет, какую информацию можно туда записать.

📝 Символьные

Совет

Используйте VARCHAR для имён, заголовков, email. Используйте TEXT для длинных описаний и комментариев.

🔢 Числовые

📅 Дата/Время

Форматы DATE

DATE принимает разные форматы: 2024-05-25, 2024-5-25, 24-05-25 — но хранит всегда в формате yyyy-mm-dd.

📦 Прочие (Составные типы)

📦 Прочие (Бинарные типы)

INSERT и SELECT
DML-операторы для добавления данных в таблицу и их извлечения.

INSERT INTO

Добавление одной или нескольких строк в таблицу.

SELECT

Выборка данных из таблицы.

💡 Звёздочка *

SELECT * выбирает все столбцы. Удобно при разработке, но в продакшне лучше перечислять столбцы явно — это быстрее и надёжнее.

WHERE, UPDATE, DELETE
Фильтрация выборки, обновление и удаление строк — основные операции с данными.

1)WHERE — фильтрация

Оператор WHERE задаёт условие: только строки, для которых оно истинно, попадают в результат.

  • AND

    Оба условия должны быть истинны. Приоритет — средний.

  • OR
    Хотя бы одно условие истинно. Приоритет — наименьший.
  • NOT
    Инвертирует условие. Приоритет — наивысший.

⚠ Приоритет

NOT (высший) → AND → OR (низший). При необходимости используйте скобки для явного порядка.

2)UPDATE — обновление

⚠ Опасность

UPDATE без WHERE обновит все строки таблицы! Всегда уточняйте условие, если хотите изменить только часть записей.

2)DELETE — удаление