Основные типы инструкций (директив)языка 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
Создает новое представление