Основные директивы (команды) языка SQL



Структура языка SQL определяется заданными директивами (инструкциями) на выполнение конкретных действий и синтаксисом написания команд.

При описании структуры и правил использования любого языка программирования употребляется определенная система обозначений. Для описания форматов команд языка SQL используем так называемую форму Бэкуса-Наура (БНФ), в которой приняты следующиеобозначения:

· < > (угловые скобки) — информация, определенная пользователем;

· [ ] (квадратные скобки) — выделяют конструкции, которые могут отсутствовать;

· { } (фигурные скобки) — объединяют последовательность элементов в логическую группу;

· ... (многоточие) — указывает на допустимость повторения элемента или группы элементов один или несколько раз;

· ½ (вертикальная черта) — означает альтернативный выбор;

· ( ) (круглые скобки) — заключают аргументы команды;

· (пробелы) — используются для разделения элементов команды.

Язык SQL, соответствующий последним стандартам SQL:2003, SQL:1999, представляет собой очень богатый и сложный язык, все возможности которого трудно сразу осознать и тем более понять. Поэтому приходится разбивать язык на уровни. В одной из классификаций, предусмотренных стандартом SQL, этот язык разбивается на «базовый» (entry), «промежуточный» (intermediate) и «полный» (full) уровни. Базовый уровень содержит около сорока команд, которые можно сгруппировать в категории по их функциональному назначению. Ниже приводится краткое описание подмножества изучаемых в настоящем курсе команд SQL базового уровня по категориям.

К категории Описание данных относятся команды, позволяющие создавать, изменять и удалять БД и объекты БД, такие как таблицы и представления (таблицы, содержимое которых извлекается из других таблиц БД), а также таблиц. Некоторые команды из этой категории приведены в табл. 9.1.

 

Таблица 9.1

Команды описания данных

Команда Назначение Краткий формат
CREATE TABLE Создает структуру таблицы CREATE TABLE <имя таблицы> ({<имя поля> <тип данных> [<размер> ] [<ограничения на поле>] [<значение поля по умолчанию>] },...)
DROP TABLE Удаляет таблицу DROP TABLE <имя таблицы>

ALTER
TABLE

Изменяет описание
таблицы (добавляет и удаляет поля)

ALTER TABLE <имя таблицы> ADD ({<имя поля> <тип данных> [<размер>] [<ограничения на поле>] [<значение поля по умолчанию>] },...)
ALTER TABLE <имя таблицы> DROP({<имя поля>},...)

 

К категории Внесение изменений в БД относятся команды, позволяющие добавлять, удалять и модифицировать данные (записи) в таблицах. Основные команды из этой категории представлены в табл. 9.2.

Таблица 9.2

Команды внесения изменений в БД

Команда Назначение Краткий формат
INSERT Добавляет новые записи в таблицу INSERT INTO <имя таблицы> [{<имя поля>}, ...] VALUES ({<значение>}, ...)
DELETE Удаляет записи из таблицы DELETE FROM <имя таблицы> [WHERE <условие>]
UPDATE Обновляет данные таблицы UPDATE <имя таблицы> SET {<имя поля> = <выражение>}, ... [WHERE <условие>]

 

Категория Извлечение данных (табл. 9.3) состоит из одной команды SELECT, являющейся основной, наиболее часто используемой командой языка SQL. Эта команда применяется при формировании всех запросов выбора.

Таблица 9.3

Команда извлечения данных

Команда Назначение Краткий формат
SELECT Извлекает данные из БД SELECT [DISTINCT½ALL] {<выражение>}, …½*FROM {<имя таблицы>}, ... [WHERE <условие>] [ORDER BY {<имя поля> [ASC½DESC]}, ...] [GROUP BY {<имя поля>}, ...] [HAVING <условие>]

 

Как видно из приведенных выше таблиц:

· текст команды начинается с директивы, слова которой и все дополнения к ней разделяются пробелом;

· имена таблиц, полей, индексов пишутся без пробелов, перечень полей и значений данных заключаются в круглые скобки и разделяются запятой, предложение команды должно заканчиваться точкой с запятой;

· имя_таблицы обычно следует через «пробел» после предложений TABLE или INTO, или FROM, или UPDATE, или JOIN; после слова ON обычно через «пробел» следует Имя_таблицы.Имя_Поля;

· WHERE задает условия выполнения директивы, т.е. определяет, какие записи из таблиц, перечисленных в предложении FROM, следует включить в результат выполнения инструкции SELECT, UPDATE или DELETE;

· GROUP BY — позволяет выделять в результирующем множестве группы. Группой являются записи с совпадающими значениями в столбцах, перечисленных после данного ключевого слова. GROUP BY может объединять записи с одинаковыми значениями в указанном списке полей в одну запись и создавать сводное значение для каждой записи, если в инструкцию SELECT включена статистическая функция SQL, такая как Sum или Count;

· ORDER BY — задает порядок сортировки результирующего множества. Для сортировки записей таблицы по значениям одного поля в предложении добавляются слова ASC (возрастание значений) и DESC (убывание значений). В предложение можно включать дополнительные поля. В этом случае, сначала записи сортируются по полю, указанному первым в предложении ORDER BY, затем для записей с равными значениями первого поля выполняется сортировка по полю, указанному вторым, и так далее. При отсутствии слов ASC или DESC сортировка выполняется по возрастанию;

· Предложения GROUP BY и ORDER BY обычно является последним пунктом в инструкции SQL, не являются обязательным предложением, не позволяют выполнять группировку и сортировку по полям, содержащим данные типа «Memo» или «Объект OLE»;

· Предложение HAVING определяет групповую запись, отображаемую в инструкции SELECT с предложением GROUP BY. После того как GROUP BY сгруппирует записи, HAVING покажет те записи, которые отвечают условиям предложения HAVING.

Другие особенности синтаксиса команд будут показаны в приведенных примерах написания основных команд и закреплены в процессе проведения лабораторной работы по данной теме.


Дата добавления: 2019-02-12; просмотров: 830; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!