Зачем и кому это нужно.
Этот вопрос, который я задал себе в первую очередь. Есть прекрасное руководство по SQL от W3C — моё самое любимое. Есть куча полезных статей на Хабре. Кому нужна ещё одна статья по SQL? В первую очередь — мне самому. Я написал очень много кода на SQL, PL/SQL. Пришло время трансформирвоать мои навыки в простую и удобную напоминалку для себя самого и для всех, кто сочтёт этот текст полезным.
Немного «воды».
Аббревиатура SQL в переводе с английского звучит как язык структурированных запросов. Это язык программирования, созданный для работы с реляционными базами данных. Первый стандарт SQL появился в 1987 году, после чего дописывался восемь раз. При этом основа языка осталась практически неизменной с 1992 года. В настоящее время SQL продолжает оставаться одним из мощнейших инструментов для манипулирования реляционными данными и создания сложных отчётов. Постараюсь все достоинства этого языка на простых и понятных примерах.
Материальная часть.
Для того, чтобы изучить SQL, нужно установить софт для управления базой данных (БД) или получить доступ к работающему серверу БД (MySQL, Postgresql, Oracle, MS SQL — даже MS Access подойдёт). Один «маленький» нюанс — БД должна быть реляционной (нереляционные БД — это совершенно другая история). Все примеры, описанные в этой статье, я тестирую на SQLite. Это простой, но мощный движок для управления БД с открытым исходным кодом. Он активно применяется во всём мире для самых разных целей. Я, например, очень часто использую его в качестве локального хранилища данных для UNIT тестов в тяжёлых проектах. Благодаря своей бесплатности и компактности он также идеально подойдёт для изучения SQL, потому что не нужно тратить время на установку и конфигурирование сервера БД, вместо этого можно сразу написать свой первый SQL запрос.
А теперь немного теории.
В стандарте SQL предусмотрено четыре группы операторов (фактически это подмножества языка), у каждой из которых своя роль.
-
DDL — язык описания данных. С его помощью создаются и модифицируются поля, таблицы и другие объекты БД;
-
DML — язык манипулирования данными. Он предназначен для того, чтобы добавлять, удалять, изменять данные и делать выборки из БД;
-
DCL — набор инструкций для администрирования доступа к данным;
-
TCL — Transaction Control Language — набор инструкций для управления транзакциями.
Тренировки (от простого — к сложному).
Создаю таблицу, в которой будет храниться информация о товарах.
Поле |
Тип данных |
Идентификатор товара |
Целое число |
Наименование товара |
Текст |
Цена за единицу товара |
Десятичное число |
Единица измерения количества товара |
Текст |
На языке DDL таблица, описанная выше, превращается в структуру:
CREATE TABLE "product" ( "product_id"INTEGER NOT NULL UNIQUE, "product_name"TEXT NOT NULL, "product_price"REAL NOT NULL, "product_unit_name"TEXT NOT NULL, PRIMARY KEY("product_id" AUTOINCREMENT) );
Поле product_id определяю в качестве первичного ключа, т.е. по этому полю можно однозначно идентифицировать каждую запись в таблице product . Затем заполняю созданную таблицу тестовыми данными (это DML).
INSERT INTO "product" ("product_name", "product_price", "product_unit_name") VALUES ('Хлеб', 87, 'буханка'); INSERT INTO "product" ("product_name", "product_price", "product_unit_name") VALUES ('Молоко', 120, 'литр'); INSERT INTO "product" ("product_name", "product_price", "product_unit_name") VALUES ('Сахар', 53, 'кг'); INSERT INTO "product" ("product_name", "product_price", "product_unit_name") VALUES ('Рис', 94, 'кг');
И, наконец, делаю первый select (это тоже DML).:
SELECT * FROM product;
В результате поучаю:
Ну вот он — первый SELECT) Сам по себе он не очень полезен. Но вся сила и мощь SQL, как и всех реляционных БД — в связях . Об этом будет следующая статья.
ссылка на оригинал статьи https://habr.com/ru/post/713132/
Добавить комментарий