Язык SQL ориентирован на реляционные базы данных. Имеются два SQL: интерактивный и вложенный.
Интерактивный SQL используется для обращения непосредственно к базе данных. В этой форме языка SQL запрос выполняется немедленно.
Вложенный SQL используется внутри программ, которые написаны на другом языке. Вложенный SQL – это библиотека функций, которым передаются переменные или параметры программы.
И в интерактивной, и во вложенной формах SQL можно выделить функциональные части, соответствующие другим известным и автономным языкам.
Части языка SQL как функциональные виды команд:
- DDL ( Язык Определения Данных ) состоит из команд, которые создают объекты ( таблицы, индексы, отчеты и т. п. ) в базе данных;
- DML (Язык Манипулирования Данными) – это набор команд, необходимых для определения значений, представленных в таблицах в данный момент;
- DCL (Язык Управления Данными) состоит из средств, которые определяют, разрешить ли пользователю выполнять определенные действия или нет.
В SQL-записях каждому полю назначается тип данных, указывающий на тип значения, которое это поле может содержать. Все значения в данном поле должны иметь одинаковый тип. При выполнении запроса часто сравниваются некоторые или все значения в данном поле, а это действие можно выполнить только для одного типа данных.
Определение типов данных является основной областью, в которой большинство коммерческих программ для управления базами данных и официальный стандарт SQL не всегда совпадают. Стандарт ANSI на язык SQL включает только текст и несколько типов чисел, в то время как большинство коммерческих программ используют другие типы, такие, как DATE (ДАТА), TIME (ВРЕМЯ), MONEY (ДЕНЬГИ) и т. п.
Команды – это инструкции, с которыми пользователь обращается к SQL-базе данных. Команды состоят из одной или более логических частей, называемых предложениями. Предложение начинается ключевым словом, которое дает имя предложению. Предложения состоят из ключевых слов и аргументов.
Запрос – команда, которая передается программе управления базой и сообщает ей о необходимости вывести определенные данные из таблиц, хранимых в памяти. Эта информация обычно посылается непосредственно на экран компьютера или терминала, хотя ее можно также послать на принтер, сохранить в файле или использовать как вводную информацию для другой команды или процесса.
Запросы обычно рассматриваются как часть языка DML (Языка
Манипулирования Данными). Запрос не меняет данные в таблицах, а просто показывает их пользователю.
Так как пробелы используются для разделения частей команды SQL, они не могут быть частью имени объекта. Для разделения слов в именах таблиц, столбцов и т. п. следует применять подчеркивание ( _ ).
В языке SQL имеется специальное обозначение USER (ПОЛЬЗОВАТЕЛЬ), которое используется как аргумент в команде. Оно указывает на идентификатор пользователя, выдавшего команду.