30
Глава 2. Создание и заполнение базы данных
Типы данных MySQL
Вообще говоря, все популярные серверы БД обладают способностью
хранить одни и те же типы данных,
такие как строки, даты и числа.
Обычно их различие заключается в возможности хранения специаль
ных типов данных, например XMLдокументов, или очень больших
текстов, или двоичных документов. Поскольку данная книга является
введением в SQL и 98 %
всех столбцов, которые вы когдалибо встре
тите, будут простыми типами данных, мы рассмотрим только сим
вольные, числовые и временные типы данных.
Символьные данные
Символьные данные могут храниться как строки фиксированной или
переменной длины. Разница заключается в том,
что строки фиксиро
ванной длины справа дополняются пробелами, тогда как строки пере
менной длины – нет. При определении столбца символьного типа необ
ходимо задать максимальный размер сохраняемой в нем строки. На
пример, если предполагается хранить строки длиной до 20 символов,
можно использовать любое из этих описаний:
CHAR(20) /* строка фиксированной длины */
VARCHAR(20) /* строка переменной длины */
В настоящее время максимальная длина этого типа данных составляет
255 символов (хотя в будущих версиях
будут допустимы более длин
ные строки). Для сохранения более длинных строк (таких как сообще
ния электронной почты, XMLдокументы и т. д.) используйте один из
текстовых типов –
tinytext
(крошечный текст),
text
(текст),
mediumtext
(средний текст),
longtext
(длинный текст)), – рассматриваемых в дан
ном разделе позже. В общем, тип
char
подходит для случая, когда
в столбце предполагается хранить только
строки одинаковой длины,
например сокращенные названия государств, а тип
varchar
– для строк
разной длины. Типы
char
и
varchar
одинаково применимы во всех основ
ных серверах БД.
Когда речь идет о применении типа данных
varchar
,
СУБД Oracle
Database является исключением. Пользователи Oracle при опи
сании символьных столбцов переменной длины должны приме
нять тип
varchar2
.
Наборы символов
В языках, использующих латинский алфавит, например в англий
ском,
довольно мало символов, то есть каждый символ хранится как
один байт. В других языках, таких как японский и корейский, много
символов. Таким образом, в них для хранения одного символа требует
ся несколько байт. Поэтому такие
наборы символов называют
много
байтовыми наборами символов
(
multibyte character sets
).
Типы данных MySQL
31
MySQL может хранить данные, используя разные наборы символов,
как одно, так и многобайтовые. Просмотреть поддерживаемые серве
ром наборы символов
можно с помощью команды
show
(показать):
mysql>
Достарыңызбен бөлісу: