Составители:
Рубрика:
26
■ BIGINT занимает 8 байтов (2
64
возможных
значений). Ниже обсуждаются приближенные
числовые типы.
FLOAT
Это — числа с плавающей запятой с обычной точностью. Они могут
представлять положительные числа в диапазоне 1,18х 10~
38
-3,40х 10
38
и
аналогичный диапазон отрицательных чисел.
DOUBLE
Это — числа с плавающей запятой с двойной точностью. Синонимами
DOUBLE являются REAL и DOUBLE PRECISION. Они могут представлять
положительные числа в диапазоне 2,23 х 10~
308
-1,80х 10
308
и аналогичный
диапазон отрицательных чисел.
Текстовые типы и строки
MySQL поддерживает различные текстовые типы и строки. Основными из
них являются CHAR, VARCHAR, TEXT, BLOB, ENUM и SET. Мы
рассмотрим каждый из этих типов по очереди.
CHAR
Тип CHAR используется для хранения строк фиксированной длины. Как и
в рассмотренном выше примере создания базы данных employee, после
ключевого слова
CHAR обычно указывается длина строки, например CHAR
(20). Если не указать длину, вы получите CHAR (1). Максимальная
длина значения типа CHAR — 255 символов. При сохранении значений типа
CHAR им всегда будет выделяться длина, указанная вами в декларации. Для
этого оставшееся в столбце место будет заполнено пробелами. При
извлечении содержимого столбца типа CHAR автоматически добавленные
пробелы
отбрасываются.
Очевидно, что хранение строк типа CHAR потребует больше места на
диске, чем хранение таких же строк переменной длины. Преимущество
состоит в том, что из столбцов фиксированной длины (из столбцов типа
CHAR, NUMERIC или DATE) данные извлекаются быстрее. Часто скорость
оказывается более важным параметром, чем дисковое пространство, поэтому
с точки зрения оптимизации бывает
выгоднее использовать тип CHAR для
текстовых полей, не подверженных большим вариациям.
Перед CHAR (как и перед VARCHAR) можно указать ключевое слово
NATIONAL, чтобы ограничить содержимое столбца соответствующим
стандартным набором символов. В MySQL оно используется по умолчанию,
27
так что вам это ключевое слово может потребоваться только для
кроссплатформенной совместимости.
После CHAR и VARCHAR можно добавить ключевое слово BINARY,
означающее необходимость учета регистра символов при сравнении строк.
По умолчанию при сравнении строк регистр символов игнорируется.
VARCHAR
Тип VARCHAR предназначен для хранения строк переменной длины.
После указания типа в скобках указывается длина
, например VARCHAR
(10). Допускаются значения от 0 до 255.
TEXT, BLOB и их вариации
Типы TEXT используются для хранения более длинных фрагментов
текста, чем допускается типами CHAR и VARCHAR. Аббревиатура BLOB
означает Binary Large Object (большой двоичный объект). Эти типы
одинаковы, за исключением того, что тип BLOB предназначен для хранения
двоичных данных, а не текста. Сравнение значений типа BLOB зависят от
регистра символов, а значений TEXT — нет. Оба типа имеют переменную
длину и оба предлагаются в разных размерах.
■ TINYTEXT и TINYBLOB могут хранить до 255 (это 2
8
- 1) символов
или байтов.
TEXT и BLOB могут хранить до 65535 (2
16
- 1) символов или байтов (64
Кбайт).
■ MEDIUMTEXT и MEDIUMBLOB могут хранить до 16777215 (2
24
-1)
символов или байтов (16 Мбайт).
■ LONGTEXT и LONGBLOB могут хранить до 4294967295 (2
32
- 1)
символов или байтов (4GB).
ENUM
Этот тип позволяет перечислить набор возможных значений. Каждая
строка может содержать одно значение из перечисленного набора.
Декларация типа ENUM выглядит следующим образом:
gender enumf'm', 'f')
Данный тип допускает также значение NULL, так что возможными
значениями gender будут m, f, NULL или error (ошибка).
SET
Тип SET (набор) подобен типу ENUM за исключением того, что
в данном
случае строки могут содержать набор значений из множества перечисленных.
Страницы
- « первая
- ‹ предыдущая
- …
- 12
- 13
- 14
- 15
- 16
- …
- следующая ›
- последняя »