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

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

· INT[(len)] - целое число длиной 4 байта, представляемое при выводе максимально len цифрами;

· SMALLINT[(len)] - целое число длиной 2 байта, представляемое при выводе максимально len цифрами;

· FLOAT[(len, dec)] - действительное число, представляемое при выводе максимально len символами с dec цифрами после десятичной точки;

· CHAR(size) - строка символов фиксированной длины размером size символов;

· VARCHAR(size) - строка символов переменной длины максимальным размером до size символов;

· BLOB (Binary Large OBject) - массив произвольных (двоичных) байтов (максимальный размер зависит от реализации, обычно это 65535 байт); этот тип данных может использоваться, например, для хранения изображений;

· DATE - астрономическая дата;

· TIME - астрономическое время.

Символьные константы (типа CHAR и VARCHAR) записываются как последовательности символов, заключенные в одиночные апострофы, например brass (латунь).
Десятичные константы (типа FLOAT) могут записываться в научной нотации как последовательности следующих компонент:

· знак числа;

· десятичное число с точкой;

· символ е;

· знак (+ или -) показателя степени;

· целое число, играющее роль показателя степени числа 10.

Например, десятичное число -0,123 может быть записано как -12.3е-2.

Отличие типов данных CHAR и VARCHAR заключается в том, что для хранения в таблице строк символов типа CHAR используется точно size байт (хотя содержание хранимых строк может быть значительно короче), в то время как для строк типа VARCHAR незанятые символами строк (пустые) байты в таблице не хранятся.
Подчеркнем, что величины len и dec (в отличие от size) не влияют на размер хранения данных в таблице, а только форматируют вывод данных из таблицы.

 






Манипулирование таблицами

Для создания, изменения и удаления таблиц в SQL БД используются операторы CREATE TABLE, ALTER TABLE и DROP TABLE.

Создание таблицы

Создание таблицы в БД реализуется оператором CREATE TABLE, имеющим следующий синтаксис

CREATE TABLE имя_табл (с_спецификация,...);

где с_спецификация имеет разнообразный синтаксис. Здесь же рассматриваются наиболее часто используемые ее формы.

1. Описание столбца таблицы

имя_столбца тип_данных [ NULL ]

где имя_столбца - имя столбца таблицы, а тип_данных - спецификация одного из типов данных, рассмотренных в разделе Типы данных языка SQL. Необязательное ключевое слово NULL означает, что ячейкам данного столбца разрешено быть пустыми (т.е. не содержать какого-либо значения).

2. Описание столбца таблицы

имя_столбца тип_данных NOT NULL [DEFAULT по_умолч ] [PRIMARY KEY]

где конструкция NOT NULL запрещает иметь в таблице пустые ячейки в данном столбце. Конструкция PRIMARY KEY указывает, что содержимое столбца будет играть роль первичного ключа для создаваемой таблицы. Конструкция DEFAULT по_умолч переопределяет имеющееся для столбцов каждого типа данных значение по умолчанию (например, 0 для числовых типов), используемое при добавлении в таблицу оператором INSERT INTO строк, не содержащих значений в этом столбце.

 

3. Описание первичного ключа

PRIMARY KEY имя_ключа (имя_столбца,...)

Эта спецификация позволяет задать первичный ключ для таблицы в виде композиции содержимого нескольких столбцов.

4. Описание вторичного ключа

KEY имя_ключа (имя_столбца,...)

Модификация таблицы

Модификация существующей таблицы в БД реализуется оператором ALTER TABLE, имеющим следующий синтаксис

ALTER TABLE имя_табл м_специкация [, м_спецификация...]

где м_спецификация имеет различные формы. Ниже рассматриваюся наиболее часто используемые.

1. Добавление нового столбца

ADD COLUMN с_спецификация

где с_спецификация - описание добавляемого столбца в том виде, как оно используется для создания таблицы оператором CREATE TABLE.

 

2. Удаление первичного ключа для таблицы

DROP PRIMARY KEY

3. Изменение/удаление значения по умолчанию

ALTER COLUMN имя_столбца SET по_умолч

или

ALTER COLUMN имя_столбца DROP DEFAULT

Удаление таблицы

Удаление одной или сразу нескольких таблиц из БД реализуется оператором DROP TABLE, имеющим следующий простой синтаксис

DROP TABLE имя_табл,...

Подчеркнем, что оператор DROP TABLE удаляет не только все содержимое таблицы, но и само описание таблицы из БД. Если требуется удалить только содержимое таблицы, то необходимо использовать оператор DELETE FROM.




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



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