MySql常见的数据类型

⒈整型

名称 字节数
tinyint 1
smallint 2
mediumint 3
int/integer 4
bigint 8

  特点:

    1.如果不设置无符号还是有符号,默认是有符号,如果想设置无符号,需要添加unsigned关键字。

    2.如果插入的数值超出了整型的范围,会报out of range异常,并且插入临界值

    3.如果不设置整型的长度,会有默认的长度,但此长度并非为该类型存储的长度,而是代表了显示的最大宽度,即宽度不够会用0在左边填充,但必须搭配zerofill使用,zerofill将会使整型变为无符号形,即为正数。

 

⒉小数

  1.浮点型

    ①float(M,D)

    ②double(M,D)

  2.定点型

    ①dec(M,D)

    ②decimal(M,D)

  

  特点:

    1.M:整数部位+小数部位总位数

       D:小数部位占用的位数

      如果超出范围,则插入临界值

    2.M和D都可以省略

     如果是decimal,则M默认是为10,D默认为0

     如果是float或double,则会根据插入数值的精度来决定精度

    3.定点型的精确度较高,如果要求插入数值的精度较高(如货币运算等)则考虑使用。

  数据类型的选用原则:所选择的类型越简单越好,能保存数值的类型越小越好。

 

⒊字符型

  1.较短的文本

    ①char

    ②varchar

  2.较长的文本

    ①text

    ②blob(较大的二进制)

 

  特点:

类型 写法 M的意思 特点 空间 效率
char char(M) 最大字符数,可省略,默认为1 固定长度的字符 比较耗费
varchar varchar(M) 最大字符数,不可省略 可变长度的字符 比较节省

  *binary和varbinary类型

    和char及varchar类似,但仅保存较短的二进制字符串(长的用blob)

  enum用于保存枚举

  set用于保存指定数据的集合

 

⒋日期型

  分类

类型 说明
date 只保存日期
time 只保存时间
year 只保存年份
datetime 保存日期+时间
timestamp 保存日期+时间

  特点:

类型 字节 范围 时区等影响
datetime 8 1000-9999 不受
timestamp 4 1970-2038

 

posted @ 2019-04-12 18:35  SpringCore  阅读(559)  评论(0编辑  收藏  举报