MySQL数据类型

MySQL中定义数据字段的类型对你数据库的优化是非常重要的

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

MySQL支持多种类型,大致可以分为三类

1. 数值类型

类型长度范围(有符号)范围(无符号)用途
TINYINT1字节(-128, 127)(0,255)小整数型
SMALLINT2字节(-32768, 32767)(0, 65535)大整数型
MEDIUMINT3字节(-8 388 608, 8 388 607)(0, 16 777 215)大整数型
INT或INTEGER4字节(-2^31, 2^31-1)(0,2^32-1))大整数型
BIGINT8字节[-2^63 ,2^63 -1][0,2^64-1]极大整数值
Float(M,D)4字节单精度浮点数,这里的D是精度,如果D<=24则为
默认的FLOAT,如果D>24则会自动被转换为DOUBLE型。
Double(M,D)8字节双精度浮点。
DECIMAL依赖于M和D的值依赖于M和D的值小数值

2. 字符串类型

header 1header 2header3
Char(M)M定长字符串
VarChar(M)M变长字符串,要求M<=255
Binary(M)M类似Char的二进制存储,特点是插入定长不足补0
VarBinary(M)M类似VarChar的变长二进制存储,特点是定长不补0
Tiny TextMax:255大小写不敏感
TextMax:64K大小写不敏感
Medium TextMax:16M大小写不敏感
Long TextMax:4G大小写不敏感
TinyBlobMax:255大小写敏感
BlobMax:64K大小写敏感
MediumBlobMax:16M大小写敏感
LongBlobMax:4G大小写敏感
Enum1或2最大可达65535个不同的枚举值
Set可达8最大可达64个不同的值

2.1 char和varchar

  • char(n) 若存入字符数小于n,则以空格补于其后,查询之时再将空格去掉。所以char类型存储的字符串末尾不能有空格,varchar不限于此。

  • char(n) 固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),
    所以varchar(4),存入3个字符将占用4个字节。

  • char类型的字符串检索速度要比varchar类型的快。

2.2 varchar和text

  • varchar可指定n,text不能指定,内部存储varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),text是实际字符数+2个字
    节。

  • text类型不能有默认值。

  • varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用。

3. 日期和时间类型

header 1header 2header3
Date3以YYYY-MM-DD的格式显示,比如:2020-07-19
Date Time8以YYYY-MM-DD HH:MM:SS的格式显示,比如:2020-07-19 11:22:30
TimeStamp4以YYYY-MM-DD的格式显示,比如:2020-07-19
Time3以HH:MM:SS的格式显示。比如:11:22:30
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值