
- •Команды SQL. Типы данных
- •Подразделы SQL
- •Операторы определения данных DDL
- •Операторы манипулирования данными Data Manipulation Lanquaqe (DML)
- •Язык запросов Data Query Lanquaqe (DQL)
- •Средства управления транзакциями
- •Средства администрирования данных
- •Программный SQL
- •Типы данных
- •SMALLINT — целые числа меньшего диапазона.
- •DOUBLE PRECISION специфицирует тип данных с определенной в реализации точностью большей, чем определенная
- •Константы
- •Константы (продолжение)
- •Операторы манипулирования данными
- •Оператор ввода данных INSERT имеет следующий синтаксис:
- •Синтаксис оператора DELETE следующий:
- •Операция обновления имеет следующий формат: UPDATE имя_таблицы
- •Предложение SELECT может использоваться как:
- •Предложение SELECT
- •SELECT
- •Общий формат:
- •Предикаты (фразы) в предложении SELECT
Команды SQL. Типы данных
Подразделы SQL
DDL ( Язык Определения Данных ) - так называемый Язык Описания Схемы, состоит из команд которые создают объекты ( таблицы, индексы, просмотры, и так далее ) в базе данных.
DML (Язык Манипулирования Данными) - это набор команд которые определяют какие значения представлены в таблицах в любой момент времени.
DCD (Язык Управления Данными) состоит из средств которые определяют, разрешить ли пользователю выполнять определенные действия или нет.

Операторы определения данных DDL
Оператор |
Смысл |
Действие |
CREATE TABLE |
Создать таблицу |
Создает новую таблицу в БД |
DROP TABLE |
Удалить таблицу |
Удаляет таблицу из БД |
ALTER TABLE |
Изменить таблицу |
Изменяет структуру существующей таблицы или ограничения целостности, задаваемые |
|
|
для данной таблицы |
CREATE VIEW |
Создать |
Создает виртуальную таблицу, соответствующую некоторому SQL-запросу |
|
представление |
|
ALTER VIEW |
Изменить |
Изменяет ранее созданное представление |
|
представление |
|
DROP VIEW |
Удалить |
Удаляет ранее созданное представление |
|
представление |
|
CREATE INDEX |
Создать индекс |
Создает индекс для некоторой таблицы для обеспечения быстрого доступа по атрибутам, |
|
|
входящим в индекс |
DROP INDEX |
Удалить индекс |
Удаляет ранее созданный индекс |

Операторы манипулирования данными Data Manipulation Lanquaqe (DML)
Оператор |
Смысл |
Действие |
DELETE |
Удалить |
Удаляет одну или несколько строк, соответствующих условиям фильтрации, из базовой |
|
строки |
таблицы. Применение оператора согласуется с принципами поддержки целостности, |
|
|
поэтому этот оператор не всегда может быть выполнен корректно, даже если |
|
|
синтаксически он записан правильно |
INSERT |
Вставить |
Вставляет одну строку в базовую таблицу. Допустимы модификации оператора, при |
|
строку |
которых сразу несколько строк могут быть перенесены из одной таблицы или |
|
|
запроса в базовую таблицу |
UPDATE |
Обновить |
Обновляет значения одного или нескольких столбцов в одной или нескольких строках, |
|
строку |
соответствующих условиям фильтрации |

Язык запросов Data Query Lanquaqe (DQL)
Оператор |
Смысл |
Действие |
SELECT |
Выбрать |
Оператор, заменяющий все операторы реляционной алгебры и позволяющий сформировать |
|
строки |
результирующее отношение, соответствующее запросу |

Средства управления транзакциями
Оператор |
Смысл |
Действие |
COMMIT |
Завершить транзакцию |
Завершить комплексную взаимосвязанную обработку информации, |
|
|
объединенную в транзакцию |
ROLLBACK |
Откатить транзакцию |
Отменить изменения, проведенные в ходе выполнения транзакции |
SAVEPOINT |
Сохранить |
Сохранить промежуточное состояние БД, пометить его для того, чтобы |
|
промежуточную |
можно было в дальнейшем к нему вернуться |
|
точку выполнения |
|
|
транзакции |
|

Средства администрирования данных
Оператор |
Смысл |
Действие |
ALTER |
Изменить БД |
Изменить набор основных объектов в базе данных, ограничений, |
DATABAS |
|
касающихся всей базы данных |
E |
|
|
ALTER |
Изменить область хранения |
Изменить ранее созданную область хранения |
DBAREA |
БД |
|
ALTER |
Изменить пароль |
Изменить пароль для всей базы данных |
PASSWOR |
|
|
D |
|
|
CREATE |
Создать БД |
Создать новую базу данных, определив основные параметры для нее |
DATABAS |
|
|
E |
|
|
CREATE |
Создать область хранения |
Создать новую область хранения и сделать ее доступной для |
DBAREA |
|
размещения данных |
DROP |
Удалить БД |
Удалить существующую базу данных (только в том случае, когда вы |
DATABAS |
|
имеете право выполнить это действие) |
E |
|
|
DROP DBAREA |
Удалить область хранения |
Удалить существующую область хранения (если в ней на настоящий |
|
БД |
момент не располагаются активные данные) |
GRANT |
Предоставить права |
Предоставить права доступа на ряд действий над некоторым объектом |
|
|
БД |
REVOKE |
Лишить прав |
Лишить прав доступа к некоторому объекту или некоторым действиям |
|
|
над объектом |

Программный SQL
Оператор |
Смысл |
Действие |
DECLARE |
Определяет курсор для запроса |
Задает некоторое имя и определяет связанный с ним |
|
|
запрос к БД, который соответствует виртуальному |
|
|
набору данных |
OPEN |
Открыть курсор |
Формирует виртуальный набор данных, |
|
|
соответствующий описанию указанного курсора и |
|
|
текущему состоянию БД |
FETCH |
Считать строку из множества строк, |
Считывает очередную строку, заданную параметром |
|
определенных курсором |
команды из виртуального набора данных, |
|
|
соответствующего открытому курсору |
CLOSE |
Закрыть курсор |
Прекращает доступ к виртуальному набору данных, |
|
|
соответствующему указанному курсору |
PREPARE |
Подготовить оператор SQL к |
Сгенерировать план выполнения запроса, |
|
динамическому выполнению |
соответствующего заданному оператору SQL |
EXECUTE |
Выполнить оператор SQL, ранее |
Выполняет ранее подготовленный план запроса |
|
подготовленный к динамическому |
|
|
выполнению |
|
Типы данных
В языке SQL/89 поддерживаются следующие типы данных: CHARACTER(n) или CHAR(n) — символьные строки
постоянной длины в n символов. При задании данного типа под каждое значение всегда отводится n символов, и если реальное значение занимает менее, чем n символов, то СУБД автоматически дополняет недостающие символы пробелами.
NUMERIC[(n,m)] — точные числа, здесь n — общее количество цифр в числе, m — количество цифр слева от десятичной точки.
DECIMAL[(n,m)] — точные числа, здесь n — общее количество цифр в числе, m — количество цифр слева от десятичной точки.
DEC[(n,m)] — то же, что и DECIMAL[(n,m)]. INTEGER или INT — целые числа.
SMALLINT — целые числа меньшего диапазона.
Несмотря на то, что в стандарте SQL1 не определяется точно, что подразумевается под типом INT и SMALLINT (это отдано на откуп реализации), указано только соотношение между этими типами данных, в большинстве реализаций тип данных INTEGER соответствует целым числам, хранимым в четырех байтах, а SMALLINT — соответствует целым числам, хранимым в двух байтах. Выбор одного из этих типов определяется размером числа.
FLOAT[(n)] — числа большой точности, хранимые в форме с плавающей точкой. Здесь n — число байтов, резервируемое под хранение одного числа. Диапазон чисел определяется конкретной реализацией.
REAL — вещественный тип чисел, который соответствует числам с плавающей точкой, меньшей точности, чем FLOAT.