Здесь кратко описана структура операторов SQL и представлена система обозначений, которая используется для определения формата различных конструкций языка SQL. Оператор SQL состоит из зарезервированных слов, а также из слов, определяемых пользователем. Зарезервированные слова являются постоянной частью языка SQL и имеют определенное значение. Их следует записывать именно так, как указано в стандарте, и нельзя разбивать на части для переноса из одной строки в другую. Слова, определяемые пользователем, задаются самим пользователем (в соответствии с определенными синтаксическими правилами) и представляют собой имена различных объектов базы данных — таблиц, столбцов, представлений, индексов и т.д. Слова в операторе размещаются в соответствии с установленными синтаксическими правилами. Хотя в стандарте это не указано, многие диалекты языка SQL требуют задания в конце оператора некоторого символа, обозначающего окончание его текста; как правило, с этой целью используется точка с запятой (;).
|
|
Большинство компонентов операторов SQL не чувствительно к регистру. Это означает, что могут использоваться любые буквы — как строчные, так и прописные. Одним важным исключением из этого правила являются символьные литералы — данные, которые должны вводиться точно так же, как были введены соответствующие им значения, хранящиеся в базе данных. Например, если в базе данных хранится значение фамилии 'SMITH1', а в условии поиска указан символьный литерал 'Smith1', то эта запись не будет найдена.
Поскольку язык SQL имеет свободный формат, отдельные операторы SQL и их последовательности будут иметь более удобный для чтения вид при использовании отступов и выравнивания. Рекомендуется придерживаться следующих правил.
- Каждая конструкция в операторе должна начинаться с новой строки.
- Начало каждой конструкции должно быть обозначено таким же отступом, что и начало других конструкций оператора.
- Если конструкция состоит из нескольких частей, каждая из них должна начинаться с новой строки с некоторым отступом относительно начала конструкции, что будет указывать на их подчиненность.
Для определения формата операторов SQL мы будем применять следующую расширенную форму системы обозначений BNF (Backus Naur Form — форма Бэкуса-Наура).
- Прописные буквы будут использоваться для записи зарезервированных слов и должны указываться в операторах точно так же, как это будет показано.
- Строчные буквы будут использоваться для записи слов, определяемых пользователем.
- Вертикальная черта () указывает на необходимость выбора одного из нескольких приведенных значений, например a | b | с.
- Фигурные скобки определяют обязательный элемент, например {а}.
- Квадратные скобки определяют необязательный элемент, например [а].
- Многоточие (...) используется для указания необязательной возможности повторения конструкции от нуля до нескольких раз, например {а b}, [с...]. Эта запись означает, что после а или b может следовать от нуля до нескольких повторений с, разделенных запятыми.
На практике для определения структуры базы данных (в основном ее таблиц) используются операторы DDL, а для заполнения этих таблиц данными и выборки из них информации с помощью запросов — операторы DML. В этой главе вначале мы познакомимся с операторами DML и лишь затем обратимся к операторам языка DDL. Подобный подход отражает большую важность операторов DML с точки зрения рядового пользователя.
|
|
Основные операторы языка SQL DML:
- SELECT — выборка данных из базы;
- INSERT — вставка данных в таблицу;
- UPDATE — обновление данных в таблице;
- DELETE — удаление данных из таблицы.
[показать] Литералы |
[показать] Другие языки |