Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
all_lab.doc
Скачиваний:
56
Добавлен:
14.11.2019
Размер:
1.42 Mб
Скачать

Строковые данные

Существуют следующие основные символьные типы данных: CHAR, VARCHAR, BLOB, TEXT, ENUM и SET.

Таблица 3. Наиболее часто используемые строковые типы данных

Тип

Объем памяти

Максимальный размер

CHAR (M)

M символов

M символов

VARCHAR (M)

L+1 символов

M символов

TINYBLOB, TINYTEXT

L+1 символов

28-1 символов

BLOB, TEXT

L+2 символов

216-1 символов

ENUM (‘value1’, ‘value2’,…)

1 или 2 байта

65535 элементов

SET (‘value1’, ‘value2’,…)

1, 2, 3 или 4 байт

64 элемента

В таблице L – это длина хранимой в ячейке строки, а байты, приплюсованные к L, – накладные расходы для хранения длины строки.

Типы данных CHAR и VARCHAR очень схожи между собой, но различаются по способам их хранения и извлечения.

В столбце типа CHAR длина поля постоянна и задается при создании таблицы. Эта длина может принимать любое значение между 1 и 255. Величины типа CHAR при хранении дополняются справа пробелами до заданной длины. Эти концевые пробелы удаляются при извлечении хранимых величин.

Величины в столбцах VARCHAR представляют собой строки переменной длины. Так же как и для столбцов CHAR, можно задать столбец VARCHAR любой длины между 1 и 255. Однако, в противоположность CHAR, при хранении величин типа VARCHAR используется только то количество символов, которое необходимо, плюс один байт для записи длины. Хранимые величины пробелами не дополнятся, наоборот, концевые пробелы при хранении удаляются.

Значения символьного типа заключаются в кавычки или апострофы, например, "abc" или 'abc' соответственно.

К особым типам данных относятся ENUM и SET. Строки этих типов принимают значения из заранее заданного списка допустимых значений. Основное различие между ними заключается в том, что значение типа ENUM должно содержать точно одно значение из указанного множества, тогда как столбцы SET могут содержать любой или все элементы заранее заданного множества одновременно.

Календарные данные

Существуют следующие типы данных даты и времени: DATETIME, DATE, TIMESTAMP, TIME и YEAR. Каждый из них имеет интервал допустимых значений, а также значение "ноль", которое используется, когда пользователь вводит действительно недопустимое значение.

Таблица 4. Наиболее часто используемые календарные типы данных

Тип

Байт

От

До

DATE

3

'1000-01-01'

'9999-12-31'

TIME

3

'-828-59-59'

'828-59-59'

DATATIME

8

'1000-01-01 00:00:00'

'9999-12-31 00:00:00'

TIMESTAMP

4

'1970-01-01 00:00:00'

'2038-12-31 59:59:59'

YEAR [(M)]

1

1901

2155 (для YEAR(4))

1970

2069 (для YEAR(2))

Даты должны задаваться в порядке год-месяц-день (например, '1998-09-24').

Тип данных DATETIME используется для величин, содержащих информацию как о дате, так и о времени. MySQL извлекает и выводит величины DATETIME в формате 'YYYY-MM-DD HH:MM:SS'. Поддерживается диапазон величин от '1000-01-01 00:00:00' до '9999-12-31 23:59:59'. ("поддерживается" означает, что хотя величины с более ранними временными значениями, возможно, тоже будут работать, но нет гарантии того, что они будут правильно храниться и отображаться).

Тип DATE используется для величин с информацией только о дате, без части, содержащей время. MySQL извлекает и выводит величины DATE в формате 'YYYY-MM-DD'. Поддерживается диапазон величин от '1000-01-01' до '9999-12-31'.

Тип столбца TIMESTAMP обеспечивает тип представления данных, который можно использовать для автоматической записи текущих даты и времени при выполнении операций INSERT или UPDATE. Для этого необходимо просто установить столбец в NULL или в NOW().

MySQL извлекает и выводит величины типа TIME в формате 'HH:MM:SS'

MySQL извлекает и выводит величины YEAR в формате YYYY. Диапазон возможных значений - от 1901 до 2155.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]