Лекция 3. Язык SQL
Определение данных
Вставка, обновление, удаление записей
Запросы, объединения.
Упорядочивание и группировка результатов.
Ограничение числа возвращаемых строк
Изменение определения таблицы
SQL
SQL — это язык взаимодействия с базами данных, применяемый в большинстве реляционных СУБД, включая MySQL.
Основной стандарт языка был принят в 1992 г. и называется SQL2 или SQL92. Продолжается также работа над наиболее современным стандартом SQL3.
Определение данных
CREATE DATABASE store DROP DATABASE
USE
DESCRIBE (сокращенный вариант— DESC) SHOW COLUMNS
SHOW DATABASES
Все имена могут состоять из букв, чисел, знаков подчеркивания (_) и символов доллара ($). Из соображений удобочитаемости желательно, чтобы имена начиналисьс буквы.
Вставка, обновление, удаление записей
INSERT INTO - вставка
INSERT INTO имя_таблицы
VALUES (значение, ...)
UPDATE – обновление
UPDATE имя_таблицы
SET выражение, ...
WHERE условие_отбора
DELETE – удаление
DELETE FROM имя_таблицы WHERE условие_отбора
Запросы и объединения
Конструкция запроса :SELECT имя_столбца,...
FROM имя_таблицы, ...
WHERE условие_отбора
GROUP BY имя_столбца,...
ORDER BY имя_столбца, ...
LIMIT лимит
Объединение: mysql> SELECT i.Name, i.Price, o.Name
AS '
'Option Name'> FROM item i
LEFT JOIN
item_option о
Строка, не имеющая "пары", дополняется значениями NULL.
Упорядочивание и
группировка результатов запроса
ORDER BY - порядок
SELECT i.Name, i.Price, o.Name AS 'Option Name' FROM item i LEFT JOIN item_option о
ON i.ID = o.Item ORDER BY i.Name
GROUP BY — группировка
SELECT i.Name, i.Price, COUNT(o.ID) AS 'Options'
> FROM item i LEFT JOIN item_option о
> ON i.ID = o.Item
> GROUP BY i.Name, i.Price
> ORDER BY Options;
Ограничение числа возвращаемых записей
LIMIT — ограничение числа записей
SELECT i.Name, i.Price, count(о.ID) AS 'Options' FROM item i LEFT JOIN item__option о
ON i.ID = o.Item
GROUP BY i.Name, i.Price ORDER BY Options DESC, Name LIMIT 1
Изменение определения таблицы
Инструкция ALTER TABLE позволяет менять определение таблицы.
Можно добавлять, удалять и модифицировать определения столбцов, а также добавлять и удалять индексы.
Допускается переименование таблицы.