MySQL数字类型学习笔记
- 2019 年 10 月 28 日
- 筆記
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u014427391/article/details/102644742
数字类型
最近在看《MySQL技术内幕:SQL编程》并做了笔记,所以本博客是一篇笔记类型博客,分享出来方便自己复习,也可以帮助他人
- 整型
类型 |
占用空间 |
最小值(SIGNED) |
最大值(SIGNED) |
最小值(UNSIGNED) |
最大值(UNSIGNED) |
---|---|---|---|---|---|
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 |
9223372036854775808 |
0 |
18446744073709551615 |
- 位类型 位类型,关键字是bit,位类型用于存储位字段的值,BIT(M),M表示允许存储位数的值,M的范围为1到64,占用的空间为(M+7)/8字节
注意:如果分配的值长度小于M位,就在数值左边用0填充
# 创建一个表 CREATE TABLE t(a BIT(4)); # 写入数据 INSERT INTO t SELECT b'1000'; # 查询,在新版显示字符串,不能直接查 SELECT * FROM t; # 位类型的,可以用HEX函数,查询出来是数字8(16进制) SELECT HEX(a) FROM t;
- 浮点型(非精确类型) MySQL支持两种浮点类型:单精度的FLOAT类型和双精度的DOUBLE类型
- 高精度类型 DECIMAL和NUMERIC是MySQL进度比较高的类型,语法都是DECIMAL(M,N)、NUMERIC(M,N),M表示精度,也就是整个数值的位数,,两种类型的最大位数M都为65,N表示标度,也就是整个数值小数点后的位数