博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL数值类型
阅读量:4954 次
发布时间:2019-06-12

本文共 1209 字,大约阅读时间需要 4 分钟。

                                              MySQL数值类型

MySQL支持所有标准的SQL数值数据类型。这些类型包括数值数据类型INTEGER、SMALLINT、DECIMAL、NUMERIC和近似数值数据类型FLOAT、REAL、DOUBLE 、PRECISION。其中关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。

BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。作为SQL标准的扩展,MySQL也支持整数的数据类型TINYINT、MEDIUMINT和BIGINT。如下表所示的整数类型的存储以及范围。

整数型数据存储以及范围

类型

字节数

最小值

最大值

 

 

(有符号/无符号)

(有符号/无符号)

TINYINT

1

-128

127

 

 

0

255

SMALLINT

2

-32768

32767

 

 

0

65535

MEDIUMINT

3

-8388608

8388607

 

 

0

16777215

INT

4

-2147483648

2147483647

 

 

0

4294967295

BIGINT

8

-9223372036854775808

9223372036854775807

 

 

0

18446744073709551615

对于浮点列类型,在MySQL中单精度值使用4个字节,双精度值则使用8个字节。

FLOAT类型用于表示近似数值数据类型。MySQL标准允许在关键字FLOAT的后面的括号内选择用位指定精度(但不能为指数范围)。MySQL还支持确定存储大小的精度规定。0到23的精度对应FLOAT列的4字节单精度。24到53的精度对应DOUBLE列的8字节双精度。

MySQL允许使用非标准语法:FLOAT(M,D)或REAL(M,D)或DOUBLE PRECISION(M,D)。这里,“(M,D)”表示该值一共显示M位整数,其中D位位于小数点后面。例如,定义为FLOAT(7,4)的一个列可以显示为-999.9999。MySQL保存值时进行四舍五入,因此如果在FLOAT(7,4)列内插入999.00009,近似结果是999.0001。

MySQL将DOUBLE视为DOUBLE PRECISION(非标准扩展)的同义词。MySQL还将REAL视为DOUBLE PRECISION(非标准扩展)的同义词,除非SQL服务器模式包括REAL_AS_FLOAT选项。

为了保证最大可能的可移植性,需要使用近似数值数据值存储的代码应使用FLOAT或DOUBLE PRECISION,不规定精度或位数,防止数据精度丢失。

当要在一个数值列内保存一个超出该列允许范围的值时,MySQL的操作取决于此时有效的SQL模式。如果模式未设置,MySQL将值裁剪到范围的相应端点,并保存裁减好的值。

 

 

 

转载于:https://www.cnblogs.com/xiaomu0/p/10776915.html

你可能感兴趣的文章
js时间加减
查看>>
夏天能让"蚊子"、蟑螂绝子绝孙的秘诀。
查看>>
Java for LeetCode 132 Palindrome Partitioning II
查看>>
Java review-basic1
查看>>
android TextView Input 实例
查看>>
今夜,很思念我的妻儿
查看>>
Matrix (二分套二分
查看>>
WY c语言 (7)
查看>>
洛谷P1197 星球大战【并查集】
查看>>
python base64 编解码,转换成Opencv,PIL.Image图片格式
查看>>
我的自白 —— 未来的期待
查看>>
解决sql sever2000 远程连接失败 error40 问题
查看>>
Android开发学习总结——搭建最新版本的Android开发环境
查看>>
pat L2-019. 悄悄关注
查看>>
挑战程序设计2 矩阵链乘
查看>>
将博客园或CSDN任意博主的全部博文备份到github上的简单方法
查看>>
go语言学习 一
查看>>
将RichTextBox 的内容直接写入数据库
查看>>
在NHibernate里执行存储过程(转)
查看>>
关于ValueSatck
查看>>