Основные типы инструкций (директив)языка SQL

SQL ( Structured Query Language — «язык структурированных запросов») — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL основывается на исчислении кортежей.

SQL является, прежде всего, информационно-логическим языком, предназначенным для описания, изменения и извлечения данных, хранимых в реляционных базах данных. SQL нельзя назвать языком программирования [источник не указан 392 дня].[6]

Изначально, SQL был основным способом работы пользователя с базой данных и позволял выполнять следующий набор операций:

· создание в базе данных новой таблицы;

· добавление в таблицу новых записей;

· изменение записей;

· удаление записей;

· выборка записей из одной или нескольких таблиц (в соответствии с заданным условием);

· а, также, изменение структур таблиц.

Со временем, SQL усложнился — обогатился новыми конструкциями, обеспечил возможность описания и управления новыми хранимыми объектами (например, индексы, представления, триггеры и хранимые процедуры) — и стал приобретать черты, свойственные языкам программирования.

При всех своих изменениях, SQL остаётся единственным механизмом связи между прикладным программным обеспечением и базой данных. В то же время, современные СУБД, а, также, информационные системы, использующие СУБД, предоставляют пользователю развитые средства визуального построения запросов.

Каждое предложение SQL — это либо запрос данных из базы, либо обращение к базе данных, которое приводит к изменению данных в базе. В соответствии с тем, какие изменения происходят в базе данных, различают следующие типы запросов:

· запросы на создание или изменение в базе данных новых или существующих объектов (при этом в запросе описывается тип и структура создаваемого или изменяемого объекта);

· запросы на получение данных;

· запросы на добавление новых данных (записей)

· запросы на удаление данных;

· обращения к СУБД.

Основным объектом хранения реляционной базы данных является таблица, поэтому все SQL-запросы — это операции над таблицами. В соответствии с этим, запросы делятся на

· запросы, оперирующие самими таблицами (создание и изменение таблиц);

· запросы, оперирующие с отдельными записями (или строками таблиц) или наборами записей.

Каждая таблица описывается в виде перечисления своих полей (столбцов таблицы) с указанием

· типа хранимых в каждом поле значений;

· связей между таблицами (задание первичных и вторичных ключей);

· информации, необходимой для построения индексов.

Запросы первого типа, в свою очередь, делятся на запросы, предназначенные для создания в базе данных новых таблиц, и на запросы, предназначенные для изменения уже существующих таблиц. Запросы второго типа оперируют со строками, и их можно разделить на запросы следующего вида:

· вставка новой строки;

· изменение значений полей строки или набора строк;

· удаление строки или набора строк.

Самый главный вид запроса — это запрос, возвращающий (пользователю) некоторый набор строк, с которым можно осуществить одну из трёх операций:

· просмотреть полученный набор;

· изменить все записи набора;

· удалить все записи набора.

Таким образом, использование SQL сводится, по сути, к формированию всевозможных выборок строк и совершению операций над всеми записями, входящими в набор.

Язык SQL представляет собой совокупность

· операторов;

· инструкций;

· и вычисляемых функций.

Операторы

Согласно общепринятому стилю программирования, операторы (и другие зарезервированные слова) в SQL всегда следует писать прописными буквами[7].

Операторы SQL делятся на:

§ операторы определения данных (Data Definition Language, DDL)

§ CREATE создает объект БД (саму базу, таблицу, представление, пользователя и т. д.)

§ ALTER изменяет объект

§ DROP удаляет объект

§ операторы манипуляции данными (Data Manipulation Language, DML)

§ SELECT считывает данные, удовлетворяющие заданным условиям

§ INSERT добавляет новые данные

§ UPDATE изменяет существующие данные

§ DELETE удаляет данные

§ операторы определения доступа к данным (Data Control Language, DCL)

§ GRANT предоставляет пользователю (группе) разрешения на определенные операции с объектом

§ REVOKE отзывает ранее выданные разрешения

§ DENY задает запрет, имеющий приоритет над разрешением

§ операторы управления транзакциями (Transaction Control Language, TCL)

§ COMMIT применяет транзакцию.

§ ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции.

§ SAVEPOINT делит транзакцию на более мелкие участки.

 

Основные инструкции

Delete

Создает запрос на удаление, который удаляет записи из одной или нескольких таблиц, перечисленных в выражении FROM и удовлетворяющих условию предложения WHERE.

Drop

Удаляет таблицу, процедуру или представление из базы данных либо индекс из таблицы.

Execute

Используется для вызова выполнения процедуры. (Процедура. Совокупность описаний и инструкций в модуле, которые выполняются как единое целое. Процедуры в модуле VBA (Visual Basic for Applications) включают в себя как процедуры-подпрограммы Sub, так и процедуры-функции Function.)

Select

Предписывает ядру базы данных Microsoft Access вернуть сведения из базы данных в виде набора записей.

Transaction

Используется, чтобы начинать и завершать явные транзакции.

Transformation

Создает перекрестный запрос.

Create index

Создает новый индекс в существующей таблице.

Create procedure

Создает хранимую процедуру.

Create table

Создает новую таблицу

Create view

Создает новое представление