В ANSI SQL имеется шесть основных типов команд:
· команды <$I[]язык определения данных (data definition language — DDL) > языка определения данных (data definition language — DDL) позволяют создавать новые таблицы в базе данных, добавлять индексы и т.д.; основными командами языка определения данных являются:
CREATE TABLE
| Создать таблицу
|
ALTER TABLE
| Модифицировать таблицу
|
DROP TABLE
| Удалить таблицу
|
CREATE INDEX
| Создать индекс
|
ALTER INDEX
| Модифицировать индекс
|
DROP INDEX
| Удалить индекс
|
· команды <$I[]язык обработки данных (data manipulation language — DML) > языка обработки данных (data manipulation language — DML) используются для добавления, корректировки и удаления строк в таблицах и включают команды:
INSERT
| Вставить данные в таблицу
|
UPDATE
| Обновить данные
|
DELETE
| Удалить данные
|
· команда <$I[]язык запросов данных (data query language — DQL) > языка запросов данных (data query language — DQL) (единственная команда) используется для получения данных из таблиц и определения формы представления этих данных:
SELECT
| Выполнить запрос из таблиц базы
|
· команды <$I[]язык управления данными (data control language — DCL)> языка управления данными (data control language — DCL) определяют доступ отдельных пользователей и групп пользователей к объектам базы данных посредством полномочий, предоставляемых и отменяемых командами:
GRANT
| Предоставить привилегии
|
REVOKE
| Отменить привилегии
|
· команды <$I[]язык обработки транзакций (transaction processing language — TPL)> языка обработки транзакций (transaction processing language — TPL) обеспечивают обновление всех строк, используемых в операторе DML, и включают следующие команды:
BEGIN TRANSACTION
| Начать транзакцию
|
COMIT TRANSACTION
| Завершить транзакцию
|
SAVE TRANSACTION
| Создать точку сохранения внутри транзакции
|
· команды <$I[]язык управления курсором (cursor control language — CCL)> языка управления курсором (cursor control language — CCL) выполняют операции с отдельными строками одной или нескольких таблиц и включают команды: DECLARE CURSOR, FETCH INTO и UPDATE WHERE CURRENT.
Создатели СУБД, в общем-то, не обязаны поддерживать все команды SQL-92, и можно с уверенностью утверждать, что, практически, нет ни одной коммерческой СУБД, в которой реализованы все команды SQL-92. В частности, в SQL Jet не поддерживаются никакие зарезервированные слова команд DCL и CCL.