SQL е изключително популярен език за работа с релационни бази данни и е трудно е да си представим съвременен програмист или разработчик на сайтове и уеб приложения, който да не го знае. SQL е приет като международен стандарт, затова може да бъдете сигурни, че неговото усвояване ще ви позволи да работите с всяка една релационна база данни - от най-простата SQLite до чудовищната Oracle.
Материалът в книгата е построен на принципа "от най-простото към най-сложното". След като се запознаете със същността, предназначението и структурата на релационните бази данни и езика SQL, последователно ще усвоите: правилата за писане и въвеждане на заявки; начините за селектиране на данни от таблици; работата с псевдоними, вложени и свързани заявки, оператори, изрази, изгледи, агрегатни функции, релационни, булеви и специални оператори.
Ще научите и как се създават, модифицират и изтриват таблици, как се въвеждат, изтриват и променят полетата на данните, както и как се форматират и подреждат резултатите от изпълнението на заявките. Специално внимание е отделено на работата с няколко таблици с една заявка, задаването на правата за достъп до данните и на използването на база данни при програмиране на PHP. Разгледан е и езикът PL/SQL, разработен за Oracle Database. Авторът е положил максимални усилия да направи съдържанието достатъчно просто и нагледно.
Денис Николаевич Колисниченко е водещ автор в областта на програмирането и информационните технологии. Написал е многобройни статии и повече от 30 книги на компютърна тематика, в това число книги за PHP, MySQL, различни Linux дистрибуции (FreeBSD, Fedora, Ubuntu, openSUSE, Mandriva), Windows, Интернет, Joomla!, Slaed, PHP-Nuke, Drupal и други.
Съдържание
Въведение
Аудитория или за кого е предназначена тази книга?
Релационни бази данни
Въведение в релационните бази данни
Връзка между таблиците
Таблица на купувачите
Таблица на поръчките
Подробности за поръчката
Кратка терминология за базите данни
Създаване и изтриване на база данни
Въведение в езика SQL
Как работи SQL
Стандартът ANSI
DDL, DML, DCL и какво означава всичко това
Типове данни
Потребители на базата данни
Уговорка за писането на заявките
Къде да въвеждаме заявките?
Подготовка за по-нататъшната работа с книгата
Селектиране на данни от таблица
Добавяме данни в нашата база данни
Операторът SELECT
Съкратена форма на SELECT
Задаваме условие в WHERE
Премахваме дублиращите се редове
Ограничаване на резултатите
Селектиране на случайни записи
Агрегатни функции
Пример за сложна селекция
Релационни и булеви оператори. Създаване на сложни условия
Релационни оператори
Булеви оператори
Специални оператори
Операторът IN
Операторът BETWEEN
Операторът LIKE
Операторът IS NULL и работа с NULL стойности
Операторът NOT и специалните оператори
Агрегатни функции
За какво са необходими агрегатни функции?
Използване на агрегатни функции
Специални атрибути на функция COUNT
Скаларни изрази в агрегати
Клаузата GROUP BY
Изразът HAVING
Вложени агрегати
Въвеждане, изтриване и промяна на полетата на данните
Операторът INSERT
Общ синтаксис и най-простата форма на оператора INSERT
NULL стойности
Произволен ред на следване на полетата
Въвеждане на данни от една таблица в друга
Операторът DELETE: изтриване на данни от таблицата
Оператор UPDATE: промяна на запис
Форматиране и подреждане на резултатите от заявките
Низове и изрази
Подреждаме изходните полета
Подреждане на съставни групи
Подреждане по номера на колоната
Подреждане по NULL стойности
Няколко таблици в една заявка
Пълни имена на колоните
Извеждаме имената на клиентите в таблицата на поръчките
Съединения при работа с една таблица. Псевдоними
Псевдоними на таблици
Практическо използване на псевдонимите
Допълнителна информация за използването на псевдоними
Вложени и свързани заявки
Въведение в подзаявките. Селектиране на всички поръчки по името на клиента
Използване на IN. Получаване на всички поръчки на клиентите от определен град
DICTINCT и подзаявки
Агрегатни функции в подзаявки
HAVING в подзаявки
Свързани подзаявки
Свързване на таблица с нейно копие
Свързани заявки и HAVING
Операторът EXISTS
Принцип на работа на оператора
Свързани подзаявки и операторът EXISTS
Изразът NOT EXISTS
EXISTS и агрегатни функции
Операторите ANY, ALL и SOME
Операторите ANY и SOME
Използване на IN вместо ANY
Операторите ANY и EXISTS
Операторът ALL
Изразът UNION
Обединяване на множество заявки в една
Условия за създаване на обединение
Подзаявки с INSERT, DELETE и UPDATE
Подзаявки в INSERT
Подзаявки и операторът DELETE
Подзаявки и операторът UPDATE
Ограничения на подзаявките
Създаване, модифициране и изтриване на таблица
Създаване на таблица
Създаване на индекси
Модифициране на съществуваща таблица. Добавяне на полето odate в таблица orders
Изтриване на таблица
Ограничения на допустимите стойности на данните
Какво са ограниченията?
Ограничения за NULL стойности
Ограничения за уникалност на данните
Уникалност и индекси
Уникалност за колони
Уникалност за таблица
Ограничения на първичния ключ
Проверка на стойността на полето
Стойности по подразбиране
Цялостност на данните
Понятията за външни и родителски ключове
Създаване на външни ключове
Действия на ограниченията
Отнасяме се към едни и същи таблици
Въведение в изгледите
Командата CREATE VIEW
Обновяване на изглед
Команда UPDATE за изгледи
Групови изгледи
Изгледи и сложни заявки
Ограничения за изгледите
Промяна на стойности с помощта на изгледи
Обновяеми изгледи
Проверка на изгледите
Изключвани полета
Въведение в езика PL/SQL
За какво ни е нужен PL/SQL?
Предимства и недостатъци на съхраняваните програми
Първа програма на PL/SQL
Типове данни в PL/SQL
Структура на програмата на PL/SQL
Структура на блока
Видове блокове
Коментари
Променливи и константи в PL/SQL
Условни команди
Командата IF
Команда CASE
Цикли
Прост цикъл
Цикъл WHILE с предусловие
Цикъл с брояч FOR
SQL в съхранявани програми
Определяне на права за достъп до данните
Потребители
Привилегии на потребителя
Командата GRANT
Клаузата WITH GRANT OPTION
Лишаване от привилегии. Командата REVOKE
Привилегиите CONNECT, RESOURCE и DBA
Възстановяване на паролата на потребител root в СУБД MySQL
Вместо заключение
Приложение 1. Инсталиране на СУБД MySQL в Windows
Поддържани платформи
Изтегляне на MySQL
Инсталиране на MySQL
Създаване на база данни
Изпълнение на заявки към базата данни
Приложение 2. Инсталиране на СУБД MySQL в Linux
Инсталиране на клиент и сървър
Настройка на сървъра на базата данни MySQL
Разрешаване свързването към сървъра
Управление на сървъра
Сценарият mysql_secure_installation
Създаване на база данни и добавяне на потребител
Свързване от името на потребител
Приложение 3. Разширението PDO за работа с бази данни в PHP 7
Връзка с базата данни
Изпълнение на заявки и четене на резултата
Получаване на данни
Особености при използването на операторите LIKE, LIMIT и IN
Имена на таблици и полета при работа с PDO
Заявки за въвеждане и обновяване
Приложение 4. phpMyAdmin
Приложение 5. Окончателен вариант на базата данни