Читайте также:
|
|
Хотя и кажется, что хватило бы одного числового типа данных с на_ званием «numeric» (числовой), все же есть разные числовые типы, от_ ражающие разные способы использования чисел, как показано ниже:
Столбец, являющийся индикатором поставки заказа покупателю
Столбец такого типа, называемого Boolean (булев), может содер_ жать 0, что означает false (ложь) и 1, что означает true (истина).
Первичный ключ для таблицы транзакций, генерируемый системой
Обычно начинается с 1 и увеличивается с шагом 1, возможно, до очень больших значений.
Номер позиции в клиентской электронной корзине для покупок
Значениями столбца данного типа являются положительные целые числа от 1 до (максимум) 200 (для фанатов шопинга).
Данные позиционирования сверлильного станка для печатных плат
Высокоточные научные или технологические данные часто требу_ ют точности до восьми десятичных знаков.
MySQL располагает несколькими разными числовыми типами для ра_ боты с этими (и многими другими) видами информации. Наиболее час_ то числовые типы используют для хранения целых чисел. При зада_ нии одного из таких типов можно также указать, что данные беззнако_ вые, тогда сервер будет знать, что все хранящиеся в столбце данные не_отрицательные. В табл. 2.2 показано пять разных типов данных, предназначенных для хранения целых чисел.
Таблица 2.2. Целые типы данных MySQL
Тип | Диапазон значений со знаком | Диапазон значений без знака | |||
Tinyint | от _128 до 127 | от 0 до 255 | |||
Smallint | от _32 768 до 32 | от 0 | до 65 535 | ||
Mediumint | от _8 388 608 | до | 8 388 607 | от 0 | до 16 777 215 |
Int | от _2 147 483 | от 0 | до 4 294 967 295 | ||
до 2 147 483 647 | |||||
Bigint | от _9 223 372 | 036 854 775 808 | от 0 | до 18 446 744 073 709 551 615 | |
до 9 223 372 036 854 775 807 | |||||
34 Глава 2. Создание и заполнение базы данных
При создании столбца одного из целых типов MySQL выделит для хра_ нения данных соответствующее количество памяти – от 1 байта для типа tinyint до 8 байт для bigint. Поэтому попытайтесь подобрать тип достаточного размера для хранения самого большого из предполагае_ мых чисел без неоправданного расхода памяти.
Для чисел с плавающей точкой (таких как 3,1415927) можно выбрать один из типов, приведенных в табл. 2.3.
Таблица 2.3. Типы данных MySQL для чисел с плавающей точкой
Тип | Числовой диапазон | |
Float(p, s) | от _3,402823466E+38 до _1,175494351E_38 и от 1,175494351E_38 | |
до 3,402823466E+38 | ||
Double(p, s) | от 1,7976931348623157E+308 | до _2,2250738585072014E_308 |
и от 2,2250738585072014E_308 | до 1,7976931348623157E+308 | |
Для типа с плавающей точкой можно задать точность (precision) (об_ щее допустимое число разрядов, как справа, так и слева от десятичной точки) и масштаб (scale) (допустимое число разрядов справа от десятич_ ной точки), но эти параметры не являются обязательными. В табл. 2.3 они представлены как p и s. Задавая точность и масштаб для столбца, имеющего тип с плавающей точкой, необходимо помнить, что сохра_ няемые в нем данные будут округляться, если число разрядов в них превысит заданный масштаб и/или точность. Например, столбец, оп_ ределенный как float(4,2), будет сохранять всего четыре разряда, два слева и два справа от десятичной точки. Поэтому с такими числами, как 27,44 и 8,19, будет все в порядке, а вот число 17,8675 будет округ_ лено до 17,87, а число 178,5 будет округлено (грубо) до 99,99 – самое большое число, которое может быть сохранено в этом столбце.
Как и данные целого типа, данные с плавающей точкой могут быть оп_ ределены как unsigned (беззнаковые), но это только предотвращает хранение в столбце отрицательных чисел, но не изменяет диапазон данных, которые могут быть сохранены в столбце.
Дата добавления: 2015-08-17; просмотров: 55 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Текстовые данные | | | Временные данные |