MySQL基础用法之三——数据类型

1、数值型数据

1.1 整数型

  • tinyint:迷你整型,1个字节(常用)
  • smallint:2个字节
  • mediumint:3个字节
  • int:4个字节(常用)
  • bigint:8个字节
ps.一个字节是8bit

声明无符号类型: tinyint unsigned


字段的数据类型后边括号内的数字表示 数据的显示宽度
为保证数据的格式,使用0在数据前填充: tinyint zerofill (数值自动变为无符号)

1.2 小数型

1.2.1 浮点型:

  • float:单精度,4字节,精度范围7位左右;
  • double:双精度,8字节,精度范围15位左右。

声明:

  • float 表示没有小数部分;
  • float(M,D) 表示M为总长度,D表示小数部分的长度。
1.2.2 定点型:

声明:decimal(M,D)

2、日期时间型

  • datetime:日期时间,其格式为yyyy-MM-dd HH:mm:ss,表示的范围是从 1000 年到 9999 年,有零值,即0000-00-00 0000:00
  • date:日期,就是datetime的date部分;
  • time:时间,或者说是时间段,为指定的某个时间区间之间,包含正负时间;
  • timestamp:时间戳,但并不是真正意义上的时间戳,其是从1970年开始计算的,格式和datetime一致,默认为非空
  • year:年份,共有两种格式,分别为year(2)和year(4)。

3、字符串型

  • 定长字符串:char(L),浪费空间,但效率高;
  • 变长字符串:varchar(L),节省空间,但效率低;
  • 文本字符串:text,存储文字,当存储长度超过255个字符,使用text;
  • 枚举字符串:enum('元素1','元素2','元素3' ... ),存储的数据只能是事先定义好的数据。
  • 集合字符串:set('元素1','元素2','元素3', ... ),可以使用元素列表中的多个元素,逗号分隔集合字符串中每一个元素都对应一个二进制位,其中被选中的为1,未选中的为0,最后在反过来,这个二进制数对应的十进制数即为其数据库中实际存储的是数值。

MySQL 中规定:任何一条记录最长不超过 65535 个字节,这意味着varchar永远达不到理论最大值

varchar实际存储长度由编码字符集决定。





猜你喜欢

转载自blog.csdn.net/mercy_ps/article/details/80502250