MySQL数据类型

编程 · 02-22 · 156 人浏览

整数类型

  • tinyint:1个字节(微小整数)
  • smallint:2个字节(小整数)
  • mediumint:3个字节(中等大小整数)
  • int(integer):4个字节(普通大小整数)
  • bigint:8个字节(大整数)

浮点数类型

  • float:4个字节,单精度(最多5位小数)
  • double:8个字节,双精度(最多16位小数)

定点数类型

decimal:定点数类型,底层实际上采用字符串形式存储数字。语法:decimal(m, d),例如:decimal(3, 2)表示3个有效数字,2个小数(有效数字最多65个,小数位最多30个)。

时间类型

  • year:1个字节,只存储年,格式YYYY
  • time:3个字节,只存储时间,格式HH:MM:SS / HHMMSS
  • date:3个字节,只存储年月日,格式:YYYY-MM-DD
  • datetime:8个字节,存储年月日+时分秒,格式:YYYY-MM-DD HH:MM:SS(范围从公元1000年~公元9999年)-
  • timestamp:4个字节,存储年月日+时分秒,格式:YYYY-MM-DD HH:MM:SS(范围从公元1970年~公元2038年,TIMESTAMP会受时区影响)或者格式为 YYYYMMDDHHMMSS(采用这种格式不需要使用单引号,当然想使用单引号也可以)

字符类型

  • char(m)
    m表示列长,范围是0~255个字符。保存时,在右侧填充空格以达到指定长度。例如,char(4)定义了一个固定长度的字符串列,包含的字符个数最大为4。当插入字符长度大于4,则报错(除非超过4个长度之后都是空格字符,则空格字符会自动被删除用来保证插入的成功)
  • varchar(m)
    m长度是0~16383个字符,长度可变的字符串。例如,varchar(50)定义了一个最大长度为50的字符串,如果插入字符串只有10个,则实际存储的字符串为10个字符和一个字符串结束字符。varchar在值保存和检索时尾部的空格仍保留。varchar最大实际长度由最长行大小和使用字符集确定,而实际占用空间为字符串实际长度加1
  • text类型

    • tinytext 表示长度为255字符的text列
    • text 表示长度为65535字符的text列
    • mediumtext 表示长度为16777215字符的text列
    • longtext 表示长度为 4294967295 或 4GB 字符的text列
  • enum类型
    语法:<字段名> enum('值1', '值2', ...)。该字段插入值时,只能是指定的枚举值
  • set类型
    语法:<字段名> set('值1', '值2', ...)。该字段插入值时,只能是指定的值。注意:值不可重复

二进制类型

BLOB类型:二进制大对象,可以存储图片、声音、视频等文件:

  • blob:小的,最大长度65535个字节
  • mediumblob:中等,最大长度16777215个字节
  • longblob:大的,最大长度4GB的字节

JSON

MySQL
Theme Jasmine by Kent Liao