SQL содержит набор стандартных операторов доступа к данными.
SQL (Structured Query Language, структурированный язык запросов) — это язык программирования, предназначенный для выборки и обработки информации, содержащейся в реляционной базе данных. SQL является единственным стандартным языком для работы с реляционными базами данных. Существуют следующие версии SQL: SQL1 (принята в 1986 году, дополнена в 1989 году стандарт ANSI) , SQL2 (SQL-92 принята в 1992 году), SQL3 (SQL-99 ) расширяет SQL2 за счет включения объектно-реляционных инструментов и новых функциональных возможностей. Существуют версии SQL предлагаемые основными поставщиками СУБД, они, как правило, удовлетворяют требованиям ANSI, реализуют многие возможности SQL2 и имеют некоторые особенности.
SQL — это слабо структурированный язык, особенно по сравнению с такими высокоструктурированными языками, как С, Pascal или Java. В нем нет инструкции IF..THEN для проверки условий, нет инструкции GOTO для организации переходов и нет инструкций DO или FOR для создания циклов.
SQL является языком реляционных баз данных, его основа реляционная алгебра и реляционное исчисление.
SQL обеспечивает независимость от конкретных СУБД: реляционную базу данных и программы, которые с ней работают, можно перенести с одной СУБД на другую с минимальными доработками и переподготовкой персонала. Все ведущие поставщики СУБД используют SQL.
Язык SQL является интерпретируемым языком.
Инструкции SQL могут использоваться самостоятельно в рамках СУБД, встраиваются в базовый язык (C/C++), используемый при разработке программных модулей, предназначенных для работы БД, или используются в качестве аргументов специальных функций (API), обеспечивающих передачу инструкций SQL базе данных из программ на C/C++ или Java.
Существуют также диалекты SQL позволяющие создавать самостоятельные программные модули, например, PL/SQL и Transact-SQL. В этих диалектах стандартный SQL дополнен инструкциями IF..THEN, GOTO и др., однако эти диалекты не получили статус стандарта и являются частными разработками отдельных компаний (PL/SQL применяется в СУБД Oracle, a Transact SQL — в СУБД MS SQL Server).
SQL не является отдельным программным продуктом. SQL — это неотъемлемая часть СУБД ее Манипуляционная часть, инструмент, с помощью которого осуществляется связь пользователя с БД.
Различают несколько групп операторов (подъязыки):
I. Язык определения данных DDL.
К языку запросов относятся операторы
CREATE TABLE — создания нового отношения;
DROP TABLE — удаление отношения;
ALTER TABLE — изменение структуры таблицы;
CREATE VIEW — создания представления;
DROP VIEW — удаления представления;
CREATE INDEX — удаление индексов.
II. Операторы манипулирования данными DML.
Они включают три оператора:
DELETE — удаление одного или нескольких кортежей;
INSERT — вставка одного или нескольких кортежей;
UPDATE — обновления значения одного или нескольких атрибутов отношения.
III. Язык запросов DQL.
Он выполняет один оператор SELECT.
IV. Средства управления транзакциями.
Операторы:
COMMIT — оператор завершения транзакция и фиксирование нового состояния;
ROLLBACK — SAVEPOINT — оператор отката, возврат базы к предшествующему до начала выполнения группы операторов, обобщенных в транзакцию;
SAVEPOINT — сохранение промежуточного состояния БД, возврат к данному промежуточному состоянию.
V. Средства администрирования данными.
Данная группа операторов позволяет задавать и изменять пароль для входа в БД, предоставлять право доступа для выполнения операций над объектами БД и решать их, сохранять данные в определённых областях хранения.