- •Команды SQL. Типы данных
- •Подразделы SQL
- •Операторы определения данных DDL
- •Операторы манипулирования данными Data Manipulation Lanquaqe (DML)
- •Язык запросов Data Query Lanquaqe (DQL)
- •Средства управления транзакциями
- •Средства администрирования данных
- •Программный SQL
- •Типы данных
- •SMALLINT — целые числа меньшего диапазона.
- •DOUBLE PRECISION специфицирует тип данных с определенной в реализации точностью большей, чем определенная
- •Константы
- •Константы (продолжение)
- •Операторы манипулирования данными
- •Оператор ввода данных INSERT имеет следующий синтаксис:
- •Синтаксис оператора DELETE следующий:
- •Операция обновления имеет следующий формат: UPDATE имя_таблицы
- •Предложение SELECT может использоваться как:
- •Предложение SELECT
- •SELECT
- •Общий формат:
- •Предикаты (фразы) в предложении SELECT
DOUBLE PRECISION специфицирует тип данных с определенной в реализации точностью большей, чем определенная в реализации точность для REAL.
В стандарте SQL92 добавлены следующие типы данных: VARCHAR(n) — строки символов переменной длины. NCHAR(N) — строки локализованных символов постоянной длины.
NCHAR VARYING(n) — строки локализованных символов переменной длины.
BIT(n) — строка битов постоянной длины.
BIT VARYING(n) — строка битов переменной длины. DATE — календарная дата.
TIMESTAMP(точность) — дата и время. INTERVAL — временной интервал.
Константы
Для числовых типов данных определены константы в виде последовательности цифр с необязательным заданием знака числа и десятичной точкой. То есть правильными будут константы: 213-314 612.716 + 551.702 Константы с плавающей запятой задаются, как и в большинстве
языков программирования, путем задания мантиссы и порядка, разделенных символом E, например:
2.9E-4 -134.235E7 0.54267E18
Строковые константы должны быть заключены в одинарные кавычки:
'Крылов Ю.Д.' 'Санкт-Петербург'
В некоторых реализациях, например MS SQL Server и Informix, допустимы двойные кавычки в строковых константах: "Москва" "New York"
Константы (продолжение)
Константы даты, времени и временного интервала в реляционных СУБД представляются в виде строковых констант. Форматы этих констант отличаются в различных СУБД. Кроме того, формат представления даты различен в разных странах. В большинстве СУБД реализованы способы настройки форматов представления дат или специальные функции преобразования форматов дат, как сделано, например, в CУБД ORACLE. Примеры констант в MS SQL Server:
March 15, 1999 Mar 15 1999 3/15/1999 3-15-99 1999 MAR 15 В СУБД ORACLE та же константа запишется как 15-MAR-99
Операторы манипулирования данными
DELETE (удалить)
INSERT (вставить)
UPDATE (обновить)
Оператор ввода данных INSERT имеет следующий синтаксис:
INSERT INTO имя_таблицы [(<список столбцов>) ] VALUES (<список значений>)
Синтаксис оператора DELETE следующий:
DELETE FROM имя_таблицы [WHERE условия_отбора]
Операция обновления имеет следующий формат: UPDATE имя_таблицы
SET имя_столбца = новое_значение [WHERE условие_отбора]
Предложение SELECT может использоваться как:
•самостоятельная команда на получение и вывод строк таблицы, сформированной из столбцов и строк одной или нескольких таблиц (представлений);
•элемент WHERE- или HAVING-условия (сокращенный вариант предложения, называемый "вложенный запрос");
•средство присвоения глобальным переменным значений из строк сформированной таблицы (INTO-фраза)
Предложение SELECT
Предложение имеет следующие ключевые слова:
SELECT - (выбрать) данные из указанных столбцов и (если необходимо) выполнить перед выводом их преобразование в соответствии с указанными выражениями и (или) функциями
FROM - (из) перечисленных таблиц, в которых расположены эти столбцы
WHERE - (где) строки из указанных таблиц должны удовлетворять указанному перечню условий отбора строк
GROUP BY - (группируя по) указанному перечню столбцов с тем, чтобы получить для каждой группы единственное агрегированное значение, используя во фразе SELECT SQL-функции.
HAVING - (имея) в результате лишь те группы, которые удовлетворяют указанному перечню условий отбора групп.
SELECT
(выбрать) данные из указанных столбцов и (если необходимо) выполнить перед выводом их преобразование в соответствии с указанными выражениями и (или) функциями
FROM
(из) перечисленных таблиц, в которых расположены эти столбцы WHERE
(где) строки из указанных таблиц должны удовлетворять указанному перечню условий отбора строк
GROUP BY
(группируя по) указанному перечню столбцов с тем, чтобы получить для каждой группы единственное агрегированное значение, используя во фразе SELECT SQL-функции SUM (сумма), COUNT (количество), MIN (минимальное значение), MAX (максимальное значение) или AVG (среднее значение)
HAVING
(имея) в результате лишь те группы, которые удовлетворяют указанному перечню условий отбора групп
