MySQL字段数据类型表

时间:2022-09-29 15:00:09

* MySQL支持所有标准SQL数值数据类型。

MySQL字段数据类型表

数值类型
BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。
作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。

类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1   字节 (-128,127) (0,255) 小整数值
SMALLINT 2   字节 (-32   768,32 767) (0,65   535) 大整数值
MEDIUMINT 3   字节 (-8   388 608,8 388 607) (0,16   777 215) 大整数值
INT或INTEGER 4   字节 (-2   147 483   648,2 147 483 647) (0,4   294 967 295) 大整数值
BIGINT 8   字节 (-9   233 372   036 854 775 808,9 223 372 036 854 775 807) (0,18   446 744 073 709 551 615) 极大整数值
FLOAT 4   字节 (-3.402   823   466 E+38,1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466   351 E+38) 0,(1.175   494 351 E-38,3.402 823 466   E+38) 单精度,浮点数值 
DOUBLE  8   字节  (1.797   693 134   862 315 7 E+308,2.225 073 858 507 201 4 E-308),0,(2.225 073   858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)  0,(2.225   073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)  双精度,浮点数值 
DECIMAL  对DECIMAL(M,D)   ,如果M>D,为M+2否则为D+2  依赖于M和D的值  依赖于M和D的值  小数值 
日期和时间类型
每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。
TIMESTAMP类型比较特殊,和自动增量的字段一样,可以自动的在添加新数据或者更新数据的时候写入新时间。(在本页后面有说明)

类型

大小(字节)

范围

格式

用途

DATE

3

1000-01-01/9999-12-31

YYYY-MM-DD

日期值

TIME

3

'-838:59:59'/'838:59:59'

HH:MM:SS

时间值或持续时间

YEAR

1

1901/2155

YYYY

年份值

DATETIME

8

1000-01-01   00:00:00/9999-12-31 23:59:59

YYYY-MM-DD   HH:MM:SS

混合日期和时间值

TIMESTAMP

8

1970-01-01   00:00:00/2037 年某时

YYYYMMDD   HHMMSS

混合日期和时间值,时间戳

 
字符串类型

类型

大小

用途

CHAR

0-255字节

定长字符串

VARCHAR

0-65535 字节

变长字符串

TINYBLOB

0-255字节

不超过 255 个字符的二进制字符串

TINYTEXT

0-255字节

短文本字符串

BLOB

0-65 535字节

二进制形式的长文本数据

TEXT

0-65 535字节

长文本数据

MEDIUMBLOB

0-16 777 215字节

二进制形式的中等长度文本数据

MEDIUMTEXT

0-16 777 215字节

中等长度文本数据

LOGNGBLOB

0-4 294 967   295字节

二进制形式的极大文本数据

LONGTEXT

0-4 294 967   295字节

极大文本数据

CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。
BINARY和VARBINARY类类似于CHAR和VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。
BLOB是一个二进制大对象,可以容纳可变数量的数据。有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同。
有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这些对应4种BLOB类型,有相同的最大长度和存储需求。

--------------------------------------------------------------------------------------

关于TimeStamp的说明:

MySQL字段数据类型表

用mysql-front添加一个timestamp字段的时候,会有两个选项,分别表示:
<INSERT-TimeStamp> 表示在添加新数据的时候才会更新时间
<UPDATE-TimeStamp>表示在更新数据的时候,也会更新时间