一般用的最多的是int、tinyint、decimal、float、double、varchar、text、timestamp这几个类型,那么这些类型怎么用呢?

为方便参考,这里放张规格图:在这里插入图片描述

  1. int
    int(M),其中M表示整数类型的最大显示宽度,当int字段类型设置为无符号且填充零(UNSIGNED ZEROFILL)时,当数值位数未达到设置的显示宽度时,会在数值前面补充零直到满足设定的显示宽度,我们一般用navicat查询的时候,如果有类似情况该软件会自动隐藏前面显示的0。
    简单来说,int类型能存储的最大最小值是固定的,不需要指定M,所以以后设置字段的时候直接int()就可以了。

  2. tinyint
    type之类的int值可以用tinyint存储,tinyint占用字节少,可存储最大值为255。

  3. decimal、float、double
    这三种类型都可以通过以下参数(M,D)指定, 其中M是总位数,D是小数点后的位数。
    可参考:https://code.rohitink.com/2013/06/12/mysql-integer-float-decimal-data-types-differences/
    没有特殊需求的话,用DECIMAL即可。

  4. varchar
    在这里插入图片描述char(10)表示存储的是10个字符,无论你插入的是多少,都是10个,如果少于10个,则用空格填满。
    而varchar(10),小于10个的话,则插入多少个字符就存多少个。
    char最多能存放255个字符,varchar最多能存放65532个字符。
    个人习惯用varchar

  5. text
    和varchar不同的是不能指定长度,最大长度为65535个字元(2^16-1),如果还不够用,可以用MEDIUMTEXT,最大长度 16777215 个字元(2^24-1)。

  6. timestamp
    就用timestamp吧,没出现过啥问题。。。

参考资料:
https://dev.mysql.com/doc/refman/8.0/en/data-types.html
https://dev.mysql.com/doc/refman/8.0/en/integer-types.html

Logo

更多推荐