mysql的数据类型

mysql常用的数据类型

  数值类型、字符串类型、日期和时间类型、二进制类型(不常用)、空间数据类型(不常用)

一、数值类型(默认为有符号)9种

  tinyint, samllint, mediumint, int, bigint,bit

  float, double, decimal

  tinyint: 1字节  2-7~27-1(-128,127)  小整数值

  samllint:2字节  2-15~215-1(-32 768,32 767)  大整数值

  mediumint:3字节  2-23~223-1(-8 388 608,8 388 607)  大整数值

  int:4字节  2-31~231-1  (-2 147 483 648,2 147 483 647)  大整数值

  bigint:8字节  2-63~263-1  (-9 233 372 036 854 775 808,9 223 372 036 854 775 807)  极大整数值

  存储过程中,如果值得范围大于数据类型的范围,就会被截断,在数据类型的范围内,最接近值得一端。MySQL 会在不合规定的值插入表前自动修改为 0。

  float:(单精度浮点)4字节

  double:(双精度浮点)8字节

  decimal:DECIMAL(M,D)可变;依赖于m 和d

设置长度即为设置显示的宽度,若宽度的值大于数据类型的范围,则在最高位补0,最终的显示宽度就是设置的长度

二、字符串类型 12种

  char:0-255字节  定长字符串

  varchar:0-255字节  变长字符串

  tinyblog:0-255字节  二进制字符串

  tinytext:0-255字节  短文本字符串

  blog:0-65535字节  二进制短文本数据

  text:0-65535字节  短文本数据

  mediumblog:0-16777215字节  二进制中等文本数据

  dediumtext:0-16 777 215字节  中等长度文本数据

  longblog:0-4 294 967 295字节  二进制极大文本数据

  longtext:0-4 294 967 295字节 极大文本数据

  varbinary(M):0-M个字节  定长字节符串,值的长度+1个字节

  binary(M):0-M字节  定长字节符串

  定长的数据类型值若没有达到所定长度,则用空格填补

三、时间类型

  year:1字节  1901/2155  YYYY  年份值

  time:3字节   -838:59:59~838:59:59  HH:MM:SS  时间值或持续时间

  timestamp:4字节  1970-01-01 00:00:00/2037  YYYYMMDD HHMMSS  混合日期和时间值,时间戳
  date:4字节  1000-01-01/9999-12-31  YYYY-MM-DD  日期值

  datetime:8字节  1000-01-01 00:00:00/9999-12-31 23:59:59  YYYY-MM-DD HH:MM:SS  混合日期和时间值

四、符合类型

  enum:值为在所定义的值范围内的某一个值,只能插入值范围内所定义的值。可以通过所以来获取对应的值,默认从1开始。值为字符串或对应数字索引为 0 的行表示有错误的记录。

  set:值为所定义的值范围内的一个子集。子集中内值互不重复。空字符串或二进制值为 0 的行表示有错误的记录。

五、空间数据类型

  单值类型:point,linestring,polygon,geometry

  集合类型:mutilpoint,mutillinestring,multipolygon,geometrycollection

原文地址:https://www.cnblogs.com/July74/p/5180082.html