Structured Query Language (SQL) — это специализированный язык программирования, предназначенный для управления и манипуляции реляционными базами данных. SQL позволяет пользователям выполнять различные операции с данными, включая создание, чтение, обновление и удаление (CRUD) данных. В данном учебнике мы подробно рассмотрим основные понятия и команды SQL.
Глава 1: Основы SQL
1.1 История и развитие
SQL был первоначально разработан в 1970-х годах в IBM. Его первым вариантом была версия под названием SEQUEL, но со временем название изменилось на SQL. SQL стал стандартом ANSI и ISO для реляционных баз данных и получил широкое распространение среди разработчиков и аналитиков.
1.2 Основные понятия
- База данных: Организованный набор данных, обычно хранящихся в нескольких таблицах.
- Таблица: Структура в базе данных, состоящая из строк и столбцов.
- Запрос: Инструкция, написанная на языке SQL, с целью выполнения операций с данными.
Глава 2: Основные команды SQL
2.1 SELECT
Команда SELECT используется для извлечения данных из базы данных. Она позволяет выбирать одну или несколько колонок, а также фильтровать результаты с помощью условий.
SELECT имя, возраст FROM студенты WHERE возраст > 18;
2.2 INSERT
Команда INSERT используется для добавления новых записей в таблицу.
INSERT INTO студенты (имя, возраст, курс) VALUES ('Иван', 19, 'Компьютерные науки');
2.3 UPDATE
Команда UPDATE обновляет существующие записи в таблице.
UPDATE студенты SET курс = 'Математика' WHERE имя = 'Иван';
2.4 DELETE
Команда DELETE удаляет записи из таблицы.
DELETE FROM студенты WHERE возраст < 18;
Глава 3: Углублённое изучение SQL
3.1 Джойны (JOINs)
JOINs используются для объединения данных из нескольких таблиц. Ниже приведен пример использования INNER JOIN.
SELECT студенты.имя, курсы.название
FROM студенты
INNER JOIN курсы ON студенты.курс_id = курсы.id;
3.2 Группировка и агрегация
SQL поддерживает функции агрегирования, такие как COUNT, SUM, AVG, MIN и MAX, которые могут использоваться с командой GROUP BY.
SELECT курс, AVG(возраст) AS средний_возраст
FROM студенты
GROUP BY курс;
3.3 Подзапросы
Подзапросы — это запросы, вложенные в другие запросы.
SELECT имя FROM студенты WHERE возраст = (SELECT MAX(возраст) FROM студенты);
Глава 4: Управление транзакциями
SQL поддерживает управление транзакциями с помощью команд BEGIN, COMMIT и ROLLBACK. Это позволяет обеспечить целостность данных.
BEGIN;
UPDATE счета SET баланс = баланс - 100 WHERE пользователь_id = 1;
UPDATE счета SET баланс = баланс + 100 WHERE пользователь_id = 2;
COMMIT;
Заключение
Овладение SQL учебник открывает множество возможностей для управления данными и извлечения ценной информации для принятия обоснованных решений. Основываясь на изложенном материале, вы сможете углубить свои знания и применять их в различных информационных системах и проектах.