mysql的数据类型详解
原创
©著作权归作者所有:来自51CTO博客作者igoodful的原创作品,请联系作者获取转载授权,否则将追究法律责任
#################################
分类标准:
分类:
数值数据类型:()
字符串数据类型
日期时间数据类型
json数据类型
空间数据类型
数值数据类型:
整数(精确值):
1)tinyint,占用1字节,用在很少值的分类列中,比如状态列的数据类型
2)smallint,占用2字节。
3)mediumint,占用3字节,一般不用。
4)int(integer),通常作为主键列的数据类型,占用4字节
5)bigint,通常作为主键列的数据类型,占用8字节
定点(精确值):
与 float 和 double 不同, decimal 在创建时需要指定两个描述精度的数字, 分别是 precision 和 scale:
1)precision 指整个 decimal 包括整数和小数部分一共有多少个数字,
2)scale 指 decimal 的小数部分包含多少个数字,
例如:123.45 就是一个 precisinotallow=5, scale=2 的 decimal. 我们可以在建表时按照这种方式定义我们想要的 decimal.
decimal(numeric):适用于需要精确数值的场合,比如钱,货币这些字段
比如字段:money decimal(5,2),
在本例中,5是精度, 2是比例。精度表示为值存储的有效位数,小数位数表示可以存储在小数点后的位数。
标准 SQL 要求decimal(5,2)能够存储具有五位数字和两位小数的任何值,因此可以存储在money列范围内的值从-999.99到 999.99.
的默认值为10。 decimal(M)decimal(M,0) decimal 如果DECIMAL小数位数为 0,则值不包含小数点或小数部分。
的最大位数为DECIMAL65,但给定DECIMAL 列的实际范围可能受给定列的精度或小数位数限制。如果为此类列分配的值的小数点后位数超过指定比例所允许的位数,则该值将转换为该比例。(确切的行为是特定于操作系统的,但通常效果是截断到允许的位数。)
浮点(近似值):
位值:
##############################