Опубликован: 02.02.2007 | Доступ: свободный | Студентов: 2305 / 208 | Оценка: 4.10 / 3.86 | Длительность: 26:44:00
Урок 23:

Компоненты языка Transact-SQL

Аннотация: Как и в любом языке программирования, программы Transact-SQL состоят из набора операторов. Оператор представляет собой инструкцию, которая описывает (во всех подробностях) некоторое действие, которое должен совершить Microsoft SQL Server. Оператор состоит из некоторой комбинации команд, выражений, функций, операций и символов. Оператор может быть простым, как одиночная команда GO, которую вы используете для разделения пакетов операторов в сценариях, или составным, состоящим из комбинации некоторых компонентов. Рассмотрим компоненты языка Transact-SQL.

Вы научитесь:

  • использовать арифметические действия в операторе SELECT;
  • использовать операции сравнения в фразе WHERE;
  • использовать логические операции в операторе SELECT;
  • использовать побитные операции в операторе SELECT;
  • использовать операции конкатенации в операторе SELECT;
  • использовать функции даты;
  • использовать математические функции;
  • использовать функции агрегирования;
  • использовать функции метаданных;
  • использовать функции безопасности;
  • использовать строковые функции;
  • использовать системные функции.

Команды Transact-SQL

В основе языка Transact-SQL лежат команды: "стержневые" операторы, описывающие фундаментальные операции, которые может выполнить язык.

Зарезервированные слова

Зарезервированное слово – это одно из средств, используемых языком Transact-SQL. Если вы используете зарезервированное слово как идентификатор, например, в качестве имени столбца, вы должны окружить это имя специальными символами, называемыми ограничителями (delimiters). В Microsoft SQL Server ограничительными символами являются [ и ]. Например, если вы используете SELECT в качестве имени столбца, вы должны при ссылке на этот столбец в запросе указать [SELECT], чтобы SQL Server воспринял это как идентификатор. (По возможности старайтесь избегать использования зарезервированных слов в качестве идентификаторов.)

То, что мы называем командой, в документации SQL Server Books Online обозначается как "зарезервированные ключевые слова" (reserved keywords). Этот термин не очень удачен, поскольку нет большого различия между "зарезервированные ключевые слова" и любым другим зарезервированным словом. По этой причине мы будем использовать термин команда (command), который означает определенный набор зарезервированных ключевых слов, которые представляют действия, выполняемые SQL Server.

Принимая во внимание сложность приложений, которые могут быть созданы с помощью Transact-SQL, вам будет весьма удивительно узнать, что язык состоит всего из нескольких команд, со многими из которых мы уже познакомились.

Изучать команды Transact-SQL будет намного проще, если разделить их на группы по типу выполняемых действий, например таких, как манипулирование данными в таблице или представлении, или управление операционным окружением SQL Server.

Мы уже использовали команды Transact-SQL. Например, вводили их в панели редактирования Editor Pane окна Query (Запрос) анализатора запросов Query Analyzer, а также в панели SQL Pane конструктора запросов Query Designer в Enterprise Manager. Кроме того, мы использовали их косвенно применяя утилиты, которые выполняют команды Transact-SQL "за сценой". Конструктор таблиц Table Designer в Enterprise Manager, например, формирует операторы CREATE и ALTER, основываясь на заданных вами параметрах.

Общение с SQL Server

Большинство приложений баз данных используют традиционный язык программирования, такой как Microsoft Visual Basic, для создания интерактивного интерфейса с SQL Server. Используя средства интерфейса, предоставляемые языком, эти приложения представляют данные пользователям в удобной и "дружественной" форме. "За сценой" же они, тем не менее, используют команды Transact-SQL. Как Enterprise Manager, так и анализатор запросов Query Analyzer в SQL Server как раз и являются приложениями для работы с базами данных, которые выполняют эту задачу.

Когда вы используете обычные языки программирования, язык сам определяет, как исполнить команды. Некоторые окружения, например такие, как Microsoft Access, предоставляют интерактивные программные инструменты, схожие с Enterprise Manager и Query Analyzer. Другие, такие как Visual Basic или Microsoft Visual C++, используют объектную модель типа ADO для взаимодействия с сервером.

Команды манипулирования данными

Наиболее важные команды SQL относятся к группе команд языка управления данными (DML), который мы рассматривали ранее. Команды DML используются для вставки, изменения, удаления и извлечения данных.

Команды DML представлены в таблице 24.1. Большинство из них вам хорошо знакомы из уроков частей 3 и 4. Командами, с которыми мы не сталкивались, являются BULK INSERT – позволяющая вставлять множество строк из файла данных, и USE – указывающая на базу данных, которая будет использоваться в SQL-сценарии.

Таблица 24.1. Команды DML
Команда Функция
INSERT Вставляет строки в таблицу или представление.
UPDATE Изменяет строки в таблице или представлении.
DELETE Удаляет строки из таблицы или представления.
SELECT Извлекает строки из таблицы или представления.
TRUNCATE TABLE Удаляет все строки из таблицы или представления.
BULK INSERT Вставляет строки из файла данных в таблицу или представление.
USE Выполняет соединение с базой данных.

Команды определения данных

Команды языка определения данных (DDL) представлены в таблице 24.2. Команды DDL используются для создания, изменения и удаления объектов базы данных. В этом языке существует только три основных команды, каждая команда имеет несколько вариаций, зависящих от характера создаваемого вами объекта базы данных (см. "Язык определения данных" ).

Таблица 24.2. Команды DDL.
Команда Функция
CREATE Определяет новый объект базы данных.
ALTER Изменяет определение объекта базы данных.
DROP Удаляет объект базы данных из базы данных.
Инна Грушецкая
Инна Грушецкая
Сергей Чесноков
Сергей Чесноков