9 数据类型

MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

其实还有一种二进制数据类型,一般使用BLOB和TEXT类型来定义二进制数据类型的字段,但因为数据库处理这类数据效率并不高,而且数据量一大,会极大的影响数据库的处理效率,所以一般都不建议在数据库中使用这类数据类型。

1、数值型

类型 大小 用途 备注
TINYINT 1 byte 小整数型 默认是有符号,若设置无符号,需添加unsigned关键字
SMALLINT 2 bytes 大整数型 默认是有符号,若设置无符号,需添加unsigned关键字
MEDIUMINT 3 bytes 大整数型 默认是有符号,若设置无符号,需添加unsigned关键字
INT/INTEGER 4 bytes 大整数型 默认是有符号,若设置无符号,需添加unsigned关键字
BIGINT 8 bytes 极大整数型 默认是有符号,若设置无符号,需添加unsigned关键字
FLOAT 4 bytes 单精度浮点数值 FLOAT(M,D):M是总位数,D是小数位数
DOUBLE 8 bytes 双精度浮点数值 DOUBLE(M,D):M是总位数,D是小数位数
DECIMAL   小数值 DECIMAL(M,D):M是总位数,D是小数位数

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2、日期/时间类型

类型 大小 格式 用途
DATE 3 bytes YYYY-MM-DD 日期值
TIME 3 bytes HH:MM:SS 时间值或持续时间
YEAR 1 bytes YYYY 年份值
DATETIME 8 bytes

YYYY-MM-DD

HH:MM:SS

混合日期和时间值
TIMESTAMP 4 bytes YYYYMMDD
HHMMSS
混合时间和时间值,时间戳

 

 

 

 

 

 

 

 

 

 

3、字符(串)型

类型 大小 用途 备注
CHAR 0-255 bytes 定长字符串  
VARCHAR 0-65535 bytes 变长字符串  
TINYBLOB 0-255 bytes 不超过255个字符的二进制字符串  
TINYTEXT 0-255 bytes 短文本字符串  
BLOB 0-62 535 bytes 二进制形式的长文本数据  
TEXT 0-62 535 bytes 长文本数据  
MEDIUMBLOB 0-16 777 215 bytes 二进制形式的中等长度文本数据  
MEDIUMTEXT 0-16 777 215 bytes 中等长度文本数据  
LONGBLOB 0-4 294 967 295 bytes 二进制形式的极大文本数据  
LONGTEXT 0-4 294 967 295 bytes 极大文本数据  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

注意:CHAR(n)和VARCHAR(n)中括号n代表字符的个数,并不代表字节个数。

定长字符串char具有处理性能高、产生较少的磁盘存储碎片的优点,但占用的的存储可能会多些;而不定长字符串varchar占用的存储较少,但处理性能低,会产生较多的存储碎片。

 

补充:

--ASCII编码
一个字母占一个字节,一个中文占两个字节

--UTF-8编码
一个字母占一个字节,一个中文占三个字节

--Unicode编码
一个字母占两个字节,一个中文占两个字节

 

posted @ 2021-04-12 18:13  赵Gary  阅读(102)  评论(0)    收藏  举报