MySQL数字类型学习笔记

数字类型

最近在看《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表示标度,也就是整个数值小数点后的位数

你可能感兴趣的:(MySQL数字类型学习笔记)