MySQL支持的数据类型_MySQL
程序员文章站
2022-06-04 21:48:06
...
bitsCN.com
MySQL中包括严格数据类型(INTEGER,SAMLLINT,DECIMAL,NUMERIC),以及近似数据类型(FLOAT,REAL,DOUBLE),扩展后增加了TINYINT,MEDIUMINT和BIGINT这三种长度不同的整形,并增加了BIT类型,用来存放位数据。
在整数类型中,按照取值范围和存储方式不同,可以分为tinyint,smallint,mediumint,int和bigint这5个类型。对于整形数据,MySQL支持在类型名称后面的小括号内指定显示宽度,例如int(5)表示当数值宽度小于5位的时候在数字前面填满宽度,如果不显示指定宽度则默认为int(11)。zerofill是用‘0’填充的意思,在数字位数不够的空间用字符‘0’填满。
Mysql中有多种数据类型可以用于日期和时间的表示。这些数据类型的主要区别如下:(1)如果要用来表示年月日,通常用DATE来表示;(2)如果要用来表示年月日时分秒,通常用DATETIME表示;(3)如果只用来表示时分秒,通常用TIME来表示;(4)如果需要进场插入或者更新日期为当前系统时间,则通常使用TIMESTAMP来表示。(5)如果只是年份,可以使用YEAR来表示。
不同日期类型零值的表示如下所示:数据类型零值表示DATETIME0000-00-00 00:00:00TIME00:00:00DATE 0000-00-00TIMESTAMP00000000000000YEAR0000
CHAR和VARCHAR很类似,都用来保存MySQL中较短的字符串。二者的主要区别在于存储方式的不同:CHAR列的长度固定为创建表时声明的长度,长度可以是从0~255的任意值,而VARCHAR列中的值为可变长字符串,长度可以指定为0~255之间的值。在检索的时候,CHAR删除了尾部的空格,而VARCHAR则保留了这些空格。
BINARY和VAEBINARY类似于CHAR和VAECHAR,不同的是它们包含了二进制字符串。当保存BINARY值时,在值的最后通过填充“0x00”以达到指定的字段定义长度。
ENUM是枚举类型,它的值范围需要在创建表时通过枚举方式显示指定。但是ENUM只允许从值集合中选取单个值,而不能一次取多个值。SET类型可以从允许值中选取任意1个或者多个元素进行组合。如果集合中包含重复的单元,那么我们将会只取一次。 bitsCN.com
数值类型
MySQL中包括严格数据类型(INTEGER,SAMLLINT,DECIMAL,NUMERIC),以及近似数据类型(FLOAT,REAL,DOUBLE),扩展后增加了TINYINT,MEDIUMINT和BIGINT这三种长度不同的整形,并增加了BIT类型,用来存放位数据。
在整数类型中,按照取值范围和存储方式不同,可以分为tinyint,smallint,mediumint,int和bigint这5个类型。对于整形数据,MySQL支持在类型名称后面的小括号内指定显示宽度,例如int(5)表示当数值宽度小于5位的时候在数字前面填满宽度,如果不显示指定宽度则默认为int(11)。zerofill是用‘0’填充的意思,在数字位数不够的空间用字符‘0’填满。
日期时间类型
Mysql中有多种数据类型可以用于日期和时间的表示。这些数据类型的主要区别如下:(1)如果要用来表示年月日,通常用DATE来表示;(2)如果要用来表示年月日时分秒,通常用DATETIME表示;(3)如果只用来表示时分秒,通常用TIME来表示;(4)如果需要进场插入或者更新日期为当前系统时间,则通常使用TIMESTAMP来表示。(5)如果只是年份,可以使用YEAR来表示。
不同日期类型零值的表示如下所示:数据类型零值表示DATETIME0000-00-00 00:00:00TIME00:00:00DATE 0000-00-00TIMESTAMP00000000000000YEAR0000
字符串类型
CHAR和VARCHAR很类似,都用来保存MySQL中较短的字符串。二者的主要区别在于存储方式的不同:CHAR列的长度固定为创建表时声明的长度,长度可以是从0~255的任意值,而VARCHAR列中的值为可变长字符串,长度可以指定为0~255之间的值。在检索的时候,CHAR删除了尾部的空格,而VARCHAR则保留了这些空格。
BINARY和VAEBINARY类似于CHAR和VAECHAR,不同的是它们包含了二进制字符串。当保存BINARY值时,在值的最后通过填充“0x00”以达到指定的字段定义长度。
ENUM是枚举类型,它的值范围需要在创建表时通过枚举方式显示指定。但是ENUM只允许从值集合中选取单个值,而不能一次取多个值。SET类型可以从允许值中选取任意1个或者多个元素进行组合。如果集合中包含重复的单元,那么我们将会只取一次。 bitsCN.com
推荐阅读
-
MySQL常见内存不足启动失败的完美解决方法
-
Mysql5.7中使用group concat函数数据被截断的问题完美解决方法
-
Windows 64 位 mysql 5.7以上版本包解压中没有data目录和my-default.ini及服务无法启动的快速解决办法(问题小结)
-
linux下mysql的安装步骤
-
Mysql根据时间查询日期的优化技巧
-
浅谈SQLServer的ISNULL函数与Mysql的IFNULL函数用法详解
-
mysql 终结点映射器中没有更多的终结点可用的解决方法
-
Windows(x86,64bit)升级MySQL 5.7.17免安装版的详细教程
-
mysql 忘记密码的解决方法(linux和windows小结)
-
MySQL 数据库跨操作系统的最快迁移方法