mysql的数据类型总结

数据类型

    M

表示最大显示宽度。最大有效显示宽度是255

·         D

适用于浮点和定点类型,并表示小数点后面的位数。最大可能的值是30,但不应大于M-2

·         方括号(‘[’‘]’)表示可选部分。

一、整数型

1.BIT[(M)] =>bit

位字段类型。M表示每个值的位数,范围为从164。如果M被省略, 默认为1

2.TINYINT[(M)] [UNSIGNED] [ZEROFILL]=>tinyint

很小的整数。带符号的范围是-128127。无符号的范围是0255

3.BOOLBOOLEAN =>bool, boolean

TINYINT(1)的同义词。zero值被视为假。非zero值视为真。

4.SMALLINT[(M)] [UNSIGNED] [ZEROFILL] =>smallint

小的整数。带符号的范围是-3276832767。无符号的范围是065535

5.MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]=>mediumint

6.中等大小的整数。带符号的范围是-83886088388607。无符号的范围是016777215

7.INT[(M)] [UNSIGNED] [ZEROFILL]=>int

普通大小的整数。带符号的范围是-21474836482147483647。无符号的范围是04294967295

8.INTEGER[(M)] [UNSIGNED] [ZEROFILL]=>integer

这是INT的同义词。

9.  BIGINT[(M)] [UNSIGNED] [ZEROFILL]=>bigint

大整数。带符号的范围是-92233720368547758089223372036854775807。无符号的范围是018446744073709551615

二、浮点型

1.FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]=>float

(单精度)浮点数。允许的值是-3.402823466E+38-1.175494351E-3801.175494351E-383.402823466E+38。这些是理论限制,基于IEEE标准。实际的范围根据硬件或操作系统的不同可能稍微小些。M是小数纵位数,D是小数点后面的位数。如果MD被省略,根据硬件允许的限制来保存值。单精度浮点数精确到大约7位小数位。如果指定UNSIGNED,不允许负值。

2.  DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]=>double

普通大小(双精度)浮点数。允许的值是-1.7976931348623157E+308-2.2250738585072014E-30802.2250738585072014E-3081.7976931348623157E+308。这些是理论限制,基于IEEE标准。实际的范围根据硬件或操作系统的不同可能稍微小些。M是小数总位数,D是小数点后面的位数。如果MD被省略,根据硬件允许的限制来保存值。双精度浮点数精确到大约15位小数位。如果指定UNSIGNED,不允许负值。

3.DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]=>decimal

压缩的严格定点数。M是小数位数(精度)的总数,D是小数点(标度)后面的位数。小数点和(负数)‘-’符号不包括在M中。如果D0,则值没有小数点或分数部分。DECIMAL整数最大位数(M)65。支持的十进制数的最大位数(D)30。如果D被省略, 默认是0。如果M被省略, 默认是10

如果指定UNSIGNED,不允许负值。

所有DECIMAL列的基本计算(+-*/)65位精度完成。

三、日期时间类型

1.DATE=>date

日期。支持的范围为'1000-01-01''9999-12-31'MySQL'YYYY-MM-DD'格式显示DATE值,但允许使用字符串或数字为DATE列分配值。

2.DATETIME=>datetime

日期和时间的组合。支持的范围是'1000-01-01 00:00:00''9999-12-31 23:59:59'MySQL'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,但允许使用字符串或数字为DATETIME列分配值。

3.TIMESTAMP[(M)]=>timestamp

时间戳。范围是'1970-01-01 00:00:00'2037年。

TIMESTAMP列用于INSERTUPDATE操作时记录日期和时间。如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。

4.TIME=>time

时间。范围是'-838:59:59''838:59:59'MySQL'HH:MM:SS'格式显示TIME值,但允许使用字符串或数字为TIME列分配值。

5.YEAR[(2|4)]=>year

两位或四位格式的年。默认是四位格式。在四位格式中,允许的值是190121550000。在两位格式中,允许的值是7069,表示从1970年到2069年。MySQLYYYY 格式显示YEAR值,但允许使用字符串或数字为YEAR列分配值。

四、字符串类型

1.[NATIONAL] CHAR(M) [BINARY| ASCII | UNICODE]=>char

固定长度字符串,当保存时在右侧填充空格以达到指定的长度。M表示列长度。M的范围是0255个字符。

2.[NATIONAL] VARCHAR(M) [BINARY]=>varchar

变长字符串。M 表示最大列长度。M的范围是065,535(VARCHAR的最大实际长度由最长的行的大小和使用的字符集确定。最大有效长度是65,532字节)。

3.BINARY(M)=>binary

BINARY类型类似于CHAR类型,但保存二进制字节字符串而不是非二进制字符串。

4.VARBINARY(M)=>varbinary

VARBINARY类型类似于VARCHAR类型,但保存二进制字节字符串而不是非二进制字符串。

5.TINYBLOB=>tinyblob

最大长度为255(28–1)字节的BLOB列。

6.TINYTEXT=>tinytext

最大长度为255(28–1)字符的TEXT列。

7.BLOB[(M)]=>blob

最大长度为65,535(216–1)字节的BLOB列。

可以给出该类型的可选长度M。如果给出,则MySQL将列创建为最小的但足以容纳M字节长的值的BLOB类型。

8.TEXT[(M)]=>text

最大长度为65,535(216–1)字符的TEXT列。

可以给出可选长度M。则MySQL将列创建为最小的但足以容纳M字符长的值的TEXT类型。

9.MEDIUMBLOB=>mediumblob

最大长度为16,777,215(224–1)字节的BLOB列。

10.MEDIUMTEXT=>mediumtext

最大长度为16,777,215(224–1)字符的TEXT列。

11.LONGBLOB=>longblob

最大长度为4,294,967,2954GB(232–1)字节的BLOB列。LONGBLOB列的最大有效(允许的)长度取决于客户端/服务器协议中配置最大包大小和可用的内存。

12.LONGTEXT=>longtext

最大长度为4,294,967,2954GB(232–1)字符的TEXT列。LONGTEXT列的最大有效(允许的)长度取决于客户端/服务器协议中配置最大包大小和可用的内存。

13.ENUM('value1','value2',...)=>enum

枚举类型。只能有一个值的字符串,从值列'value1''value2'...NULL中或特殊 ''错误值中选出。ENUM列最多可以有65,535个截然不同的值。ENUM值在内部用整数表示。

14.SET('value1','value2',...)=>set

一个设置。字符串对象可以有零个或多个值,每个值必须来自列值'value1''value2'...SET列最多可以有64个成员。SET值在内部用整数表示。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值