mysql 常用的数据类型
官网文档地址:https://dev.mysql.com/doc/refman/8.0/en/data-types.html
常用的数据类型:
- Numeric Data Types
- Date and Time Data Types
- String Data Types,Spatial Data Types,
- The JSON Data Type,
- Data Type Default Values
- ....
Nameric Data Types数字类型:
- 精确的数字数据类型(INTEGER、SMALLINT、DECIMAL和numeric),
- 以及近似的数字数据种类(FLOAT、REAL和DOUBLE PRECISION)。
关键字INT是INTEGER的同义词,关键字DEC和FIXED是DECIMAL的同义词。MySQL将DOUBLE视为DOUBLE PRECISION(一种非标准扩展)的同义词。MySQL还将REAL视为DOUBLE PRECISION(一种非标准变体)的同义词,除非启用了REAL_as_FLOAT SQL模式。
有些属性并不适用于所有数据类型。AUTO_INCREMENT仅适用于整数和浮点类型。DEFAULT不适用于BLOB、TEXT、GEOMETRY和JSON类型。
Date and Time Data Types
- date、time、DATETIME、TIMESTAMP和YEAR。
每个时态类型都有一系列有效值,以及一个“零”值,当您指定MySQL无法表示的无效值时,可以使用该值。
String Data Types,Spatial Data Types
-
CHAR:
CHAR和VARCHAR类型相似,但存储和检索方式不同。它们在最大长度和是否保留尾部空间方面也有所不同。
CHAR和VARCHAR类型的声明长度指示要存储的最大字符数。例如,CHAR(30)最多可以容纳30个字符。
CHAR列的长度固定为创建表时声明的长度。长度可以是0到255之间的任何值。当CHAR值被存储时,它们被用空格填充到指定的长度。检索CHAR值时,除非启用PAD_CHAR_TO_FULL_LENGTH SQL模式,否则会删除尾部空格。
VARCHAR列中的值是可变长度的字符串。长度可以指定为0到65535之间的值。VARCHAR的有效最大长度取决于最大行大小(65535字节,在所有列之间共享)和所使用的字符集。
-
VARCHAR
- BINARY:BINARY和VARBINARY类型类似于CHAR和VARCHAR,只是它们存储二进制字符串而不是非二进制字符串。也就是说,它们存储的是字节字符串,而不是字符串。这意味着它们具有二进制字符集和排序规则,并且比较和排序是基于值中字节的数值
- BLOB(VARBINARY二进制字符串 任意长):BLOB是一个二进制大对象,可以保存可变数量的数据。四种BLOB类型是TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们的区别仅在于它们可以保持的值的最大长度。四种TEXT类型是TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。它们对应于四种BLOB类型,并且具有相同的最大长度和存储要求。可以将BLOB列视为VARBINARY列,该列可以任意大。类似地,您可以将TEXT列视为VARCHAR列。BLOB和TEXT在以下方面与VARBINARY和VARCHAR不同:
- TEXT(VARCHAR 字符串 任意长度 )
- ENUM:不常用,详情参阅https://dev.mysql.com/doc/refman/8.0/en/enum.html
- SET:不常用,详情参阅https://dev.mysql.com/doc/refman/8.0/en/set.html
JSON Data Type:JSON;
博客园地址:https://www.cnblogs.com/lixiuming521125/