MySQL数据类型

MySQL提供了多种数据类型,主要包括数值类型、字符串类型、日期和时间类型等。不同版本的MySQL支持的数据类型及其命名方式可能会稍有不同。我们可以通过查询帮助文件来获得具体信息,以5.7.19为例:

我们还可以进一步查询某一种具体类型的定义及其存储空间等基本信息。 

数值类型

MySQL的数值类型
 类型名字节有符号数范围无符号数范围

整数类型

TINYINT1-128~1270~256
SMALLINT2-3276832767
MEDIUMINT3

-8388608~8388607

0~

16777215

INT、INTEGER4

-2147483648~2147483647

0~4294967295

BIGINT8

-9223372036854775808~9223372036854775807

0~18446744073709551615

   范围

浮点数类型

FLOAT4

-3.402823466E+38~-1.175494351E-38, 0, 

1.175494351E-38~3.402823466E+38

DOUBLE8

-1.7976931348623157E+308~-2.2250738585072014E-308

, 0, 2.2250738585072014E-308~1.7976931348623157E+308

定点数类型DEC(M,D)、DECIMAL(M,D)M+2

M为精度,D为标度。M最大值为65,D最大值为30。M默认为10,D默认为0。

位类型BIT(M)1~8M的范围为0~64

日期和时间类型

MySQL的日期和时间类型
类型字节最小值最大值
DATE41000-01-019999-12-31
DATETIME81000-01-01 00:00:009999-12-31 23:59:59
TIMESTAMP41970-01-01 00:00:01.0000002038-01-19 03:14:07.999999
TIME3-838:59:59838:59:59
YEAR110009999

 

字符串类型

MySQL的字符串类型
类型字节描述及存储需求
CHAR(M)M定长字符串,M为0~255之间的整数,默认为1,检索时删除尾部空格
VARCHAR(M)实际长度加1或2可变长度字符串,M的范围为0~65535,检索时保留尾部空格
TINYBLOB实际长度加1允许长度0~255字节
BLOB实际长度加2允许长度0~65535字节
MEDIUMBLOB实际长度加3允许长度0~16777215字节
LONGBLOB实际长度加4允许长度0~4294967295字节
TINYTEXT实际长度加1允许长度0~255字节
TEXT实际长度加2允许长度0~65535字节
MEDIUMTEXT实际长度加3允许长度0~16777215字节
LONGTEXT实际长度加4允许长度0~4294967295字节
VARBINARY(M)实际长度加1可变长度二进制字符串
BINARY(M)M定长二进制字符串

上述字符串类型中,实际长度后面多出空间是用来存放字符串大小的。

BLOB系列和TEXT系列的区别主要在于BLOB存储二进制字符串,而TEXT则存储非二进制字符串。

集合类型和枚举类型

MySQL的ENUM类型的值范围需要在创建表时显式指定,MySQL最多允许一个枚举类型有65535个成员。而集合类型与枚举类型类似,但一个集合类型最多只允许有64个成员。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值