Итак, у вас есть действующий сервер MySQL, безопасная регистрация вашего пользователя и база данных, готовая к применению. Что дальше? Сейчас нужно создать несколько таблиц со столбцами для хранения данных. Но прежде чем вы сможете сделать это, следует узнать о типах данных, поддерживаемых MySQL.
Типы данных MySQL довольно обычны, поэтому мы лишь бегло пробежимся по основным типам, и как всегда более подробную информацию можно найти в руководстве по MySQL на Web-сайте MySQL.
Столбец логического типа можно определить с помощью ключевого слова BOOL
. Как вы и ожидали, в нем могут храниться значения TRUE
и FALSE
, а также специальное "неопределенное" значение баз данных NULL
.
В табл. 8.7 перечислены все доступные символьные типы. Первые три — стандартные, оставшиеся три специфичны для MySQL. Мы полагаем, что на практике вы будете придерживаться стандартных типов.
Определение | Описание |
---|---|
CHAR | Одиночный символ |
CHAR( | Символьная строка длиной точно символов, которая будет при необходимости заполняться пробелами. Максимальная длина 255 символов |
VARCHAR( | Массив переменной длины из символов. Максимальная длина 255 символов |
TINYTEXT | Аналогичен VARCHAR( |
MEDIUMTEXT | Текстовая строка длиной до 65 535 символов |
LONGTEXT | Текстовая строка длиной до 2^3^2–1 символов |
В табл. 8.8 показано, что числовые типы делятся на целочисленные и типы с плавающей точкой.
Определение | Тип | Описание |
---|---|---|
TINYINT | Целочисленный | 8-битный тип данных |
SMALLINT | Целочисленный | 16-битный тип данных |
MEDIUMINT | 24-битный тип данных | |
INT | Целочисленный | 32-битный тип данных. Это стандартный тип и хороший выбор для данных общего назначения |
BIGINT | Целочисленный | 64-битный знаковый тип данных |
FLOAT(P) | С плавающей точкой | Числа с плавающей точкой с точностью как минимум P знаков |
DOUBLE( | С плавающей точкой | Числа с плавающей точкой и двойной точностью из цифр и десятичных знаков |
NUMERIC( | С плавающей точкой | Действительные числа длиной
DOUBLE это точно заданное число (exact number), поэтому оно больше подходит для хранения денежных сумм, но обрабатывается менее эффективно |
DECIMAL( | С плавающей точкой | Синоним NUMERIC |
Мы полагаем, что в основном вы будете пользоваться типами INT
, DOUBLE
и NUMERIC
, поскольку они ближе всего к стандартным типам SQL. Остальные типы нестандартные и могут отсутствовать в тех системах управления базами данных, куда вы решите переместить данные когда-либо в будущем.
В табл. 8.9 перечислены пять имеющихся временных типов.
Определение | Описание |
---|---|
DATE | Хранит даты с 1 января 1000 г. по 31 декабря 9999 г. |
TIME | Хранит время с -838:59:59 до 838:59:59 |
TIMESTAMP | Хранит метку времени, начиная с 1 января 1970 г. и по 2037 г. |
DATETIME | Хранит даты с 1 января 1000 г. по последнюю секунду 31 декабря 9999 г. |
YEAR | Хранит номер года. Будьте осторожны с двузначными величинами, поскольку они неоднозначны и автоматически преобразуются в четырехзначные числа. |
Учтите, что следует быть внимательными при сравнении значений типов DATE
и DATETIME
в отношении способа обработки значения времени; результаты могут оказаться неожиданными. Подробности ищите в руководстве по MySQL, поскольку поведение разных версий СУРБД слегка отличается.
Создание таблицы