SQL (ˈɛsˈkjuˈɛl; англ. Structured Query Language — «язык структурированных запросов») — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных.
MySQL (/mɑɪ ɛs kjuː ɛl/, «май-эс-кью-эл», жарг. мускул)— свободная система управления базами данных (СУБД). Большинство сайтов в сети интернет используют эту базу данных для хранения и управления данными. MySQL это реляционная СУБД. Реляционная модель похожа на отдельные файлы таблиц MS Excel, например один файл это категории товаров, другой файл это товары, т.е. каждый справочник хранится в отдельной таблице, при этом в каждой таблице есть разные колонки, которые содержат разные данные, например в таблице которая хранит товары есть колонка "Цена", при этом в таблице категорий такого поля нет.
SQL является, прежде всего, информационно-логическим языком, предназначенным для описания, изменения и извлечения данных, хранимых в реляционных базах данных. SQL нельзя назвать языком программирования.
В соответствии с тем, какие изменения происходят в базе данных, различают следующие типы запросов:
▪запросы на создание или изменение в базе данных новых или существующих объектов (создание новых таблиц, модификация существующих);
▪запросы на получение данных (получение справочника категорий товаров, самих товаров, справочника производителей, получение учётной системы);
▪запросы на добавление новых данных (создание новых категорий, товаров, изменение существующих);
▪запросы на удаление данных (категорий, товаров, производителей);
▪обращения к СУБД.
Основным объектом хранения реляционной базы данных является таблица, поэтому все SQL-запросы — это операции над таблицами. В соответствии с этим, запросы делятся на
▪запросы, оперирующие самими таблицами (создание и изменение таблиц, например запрос на создание таблицы справочника категорий);
▪запросы, оперирующие с отдельными строками таблиц или наборами записей (например запрос на изменение цен товаров, согласно цены в учётной системе ПЛИ).
Запросы первого типа, в свою очередь, делятся на запросы, предназначенные для создания в базе данных новых таблиц, и на запросы, предназначенные для изменения уже существующих таблиц. Запросы второго типа оперируют со строками, и их можно разделить на запросы следующего вида:
▪ вставка новой строки (добавление нового товара);
▪ изменение значений полей строки (изменение цены товара) или набора строк (изменение цены у нескольких товаров одним запросом);
▪ удаление строки (удаление товара) или набора строк (удаление нескольких товаров одним запросом).
Таким образом, использование SQL сводится, по сути, к формированию всевозможных выборок строк и совершению операций над всеми записями, входящими в набор.
Согласно общепринятому стилю программирования, операторы в SQL всегда следует писать прописными буквами.
Операторы SQL делятся на:
▪операторы определения данных (Data Definition Language, DDL)
CREATE создает объект БД (саму базу данных, таблицу и т.д., например можно создать таблицу "Справочник категорий")
ALTER изменяет объект (например можно расширить длину поля "Описание" в таблице "Справочник категорий", для хранения большого описания)
DROP удаляет объект (например можно удалить "Справочник категорий")
▪операторы манипуляции данными (Data Manipulation Language, DML)
SELECT считывает данные, удовлетворяющие заданным условиям (получение каталога товара для наполнения учётной системы в программе серии E-Trade)
INSERT добавляет новые данные (добавление новых категорий и товаров)
UPDATE изменяет существующие данные (обновление цен на товары)
DELETE удаляет данные (удаление категорий и товаров)
Пример добавления данных. Добавление нового товара для движка osCommerce.
INSERT INTO products (products_id, products_price) VALUES (1, 707.00);
INSERT INTO products_description (products_id, products_name) VALUES (1, 'Мой товар');
При выполнении этих запросов на сайт будет добавлен новый товар с ID=1, наименованием 'Мой товар' и ценой 707.00.
Выполнять два запроса необходимо потому что движок osCommerce хранит информацию о товарах в двух таблицах products и products_description, часть данных в одной таблице, часть в другой.
Пример извлечения данных. Получение цены на товар с ID=1 для движка osCommerce.
SELECT products_price FROM products WHERE products_id = 1;
Пример обновления данных. Обновление цены на товар с ID=1 для движка osCommerce.
UPDATE products SET products_price=709 WHERE products_id = 1;
Пример удаления данных. Удаление товара с ID=1 для движка osCommerce.
DELETE FROM products WHERE products_id = 1;