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

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

Операторы администрирования данными

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

Операторы управления курсором

Оператор Действие
DECLARE Определяет курсор для запроса. Задает имя и определяет связанный с ним запрос к БД
OPEN Открывает курсор. Открывает объект базы данных
FETH Устанавливает курсор на определенную запись и считывает ее
CLOSE Закрывает курсор. Закрывает объект базы данных
PREPARE Генерирует план выполнения запроса в соответствии с инструкцией SELECT
EXECUTE Выполняет сгенерированный ранее запрос

 

Типы данных языка SQL

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

В языке SQL имеется шесть скалярных типов данных, определенных стандартом.

Символьные данные

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

 

<символьный_тип>::=

{ CHARACTER [ VARYING][длина] | [CHAR |

VARCHAR][длина]}

При определении столбца с символьным типом данных параметр длина применяется для указания максимального количества символов, которые могут быть помещены в данный столбец (по умолчанию принимается значение 1). Символьная строка может быть определена как имеющая фиксированную или переменную (VARYING) длину. Если строка определена с фиксированной длиной значений, то при вводе в нее меньшего количества символов значение дополняется до указанной длины пробелами, добавляемыми справа. Если строка определена с переменной длиной значений, то при вводе в нее меньшего количества символов в базе данных будут сохранены только введенные символы, что позволит достичь определенной экономии внешней памяти.

Битовые данные

Битовый тип данных используется для определения битовых строк, т.е. последовательности двоичных цифр (битов), каждая из которых может иметь значение либо 0, либо 1. Данные битового типа определяются при помощи следующего формата:

 

<битовый_тип>::=

BIT [VARYING][длина]

Точные числа

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

 

<фиксированный_тип>::=

{NUMERIC[точность[,масштаб]|{DECIMAL|DEC}

[точность[, масштаб]

| {INTEGER |INT}| SMALLINT}

 

По умолчанию длина дробной части равна нулю, а принимаемая по умолчанию точность зависит от реализации. Тип INTEGER (INT) используется для хранения больших положительных или отрицательных целых чисел. Тип SMALLINT – для хранения небольших положительных или отрицательных целых чисел; в этом случае расход внешней памяти существенно сокращается.

Округленные числа

Тип округленных чисел применяется для описания данных, которые нельзя точно представить в компьютере, в частности действительных чисел. Округленные числа или числа с плавающей точкой представляются в научной нотации, при которой число записывается с помощью мантиссы, умноженной на определенную степень десяти (порядок), например: 10Е3, +5.2Е6, -0.2Е-4. Для определения данных вещественного типа используется формат:

 

<вещественный_тип>::=

{ FLOAT [точность]| REAL |

DOUBLE PRECISION}

 

Параметр точность задает количество значащих цифр мантиссы. Точность типов REAL и DOUBLE PRECISION зависит от конкретной реализации.

Дата и время

Тип данных "дата/время" используется для определения моментов времени с некоторой установленной точностью. Стандарт SQL поддерживает следующий формат:

 

<тип_даты/времени>::=

{DATE | TIME[точность][WITH TIME ZONE]|

TIMESTAMP[точность][WITH TIME ZONE]}

 

Тип данных DATE используется для хранения календарных дат, включающих поля YEAR (год), MONTH (месяц) и DAY (день). Тип данных TIME – для хранения отметок времени, включающих поля HOUR (часы), MINUTE (минуты) и SECOND (секунды). Тип данных TIMESTAMP – для совместного хранения даты и времени. Параметр точность задает количество дробных десятичных знаков, определяющих точность сохранения значения в поле SECOND. Если этот параметр опускается, по умолчанию его значение для столбцов типа TIME принимается равным нулю (т.е. сохраняются целые секунды), тогда как для полей типа TIMESTAMP он принимается равным 6 (т.е. отметки времени сохраняются с точностью до миллисекунд). Наличие ключевого слова WITH TIME ZONE определяет использование полей TIMEZONE HOUR и TIMEZONE MINUTE, тем самым задаются час и минуты сдвига зонального времени по отношению к универсальному координатному времени (Гринвичскому времени).

Данные типа INTERVAL используются для представления периодов времени.

 

Ход работы:

  1. Создать базу данных с помощью языка SQL.
  2. Создать таблицы и индексы базы данных.
  3. Заполнить таблицы данными
  4. Создать запросы с помощью оператора SELECT.

 

Пример:

1. Создание базы данных my_base

 

CREATE DATABASE `my_base`

 

2. Создание таблицы и индекса базы данных.

CREATE TABLE

       `users` (

          `id` INT(11),

          `name` CHAR(30) NOT NULL,

          `age` SMALLINT(6) NOT NULL,

          PRIMARY KEY(`id`),

   INDEX (`name`(12))

      )

 

3. Заполнение таблицы данными

 

INSERT INTO `users` (`name`, `age`)

       VALUES

       ('Катя', 12),

       ('Лена', 18),

       ('Миша', 16),

       ('Саша', 20)

 

4. Создание запроса с помощью оператора SELECT.

 

SELECT * FROM `users` where age>18

 

 

Контрольные вопросы:

  1. Какие основные достоинства имеет язык SQL?
  2. На какие группы можно разделить операторы SQL?
  3. Из каких основных операторов состоит каждая группа?
  4. Какие типы данных существуют в языке SQL?

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: