数据库建表语句中数据类型后括号中数字的意义

273 阅读1分钟

由于我在网上看的比较乱,所以亲自去官网找文档看了,如果发现与自己印象中有出入,可以自己去看看。MYSQL版本是8.0的

1 整数

eg. int(4) 表示显示一个宽度为4的整数。这个显示宽度只对数值宽度小于4的值有用,不足4的在左边添加空格。大于4的就直接全部显示,也就是说int(4),你存一个100000也是没问题的。这个显示宽度不会限制你存数据的范围。

2 小数

①定点数——DECIMAL,NUMERIC

eg. salary DECIMAL(5,2)表示有效数位是5,能小数点后显示2位。所以999.99是合法的。9999.99就是不合法的。

②浮点数——float,double float(p)这个精度只是用来确定存储的大小,0-23是单精度占4个字节,24-53占8个字节。

float(M,D)、double(M,D)类似这种形式的时候,就和2-①中一样,M是只能存5位,D是小数点后的位数

3 字符串类型

①char

eg.char(M) M以字符为单位表示列的长度,不足的在右边添加空格,不能超过M

②varchar

eg. varchar(M) 与char相同,M以字符为单位表示列的长度,不能超过M。不同的是varchar是不会在右边加空格

image.png

③text

没找到相关的文档,文档中只说了可以把text视为一个你想要多大就多大的varchar。

3 日期

微妙的精度,eg. datetime(fsp), fsp的值只能是0-6

官网链接 只需要看Data Types里的内容就好。