Mysql常用数据类型存储大小及范围

整数型数据类型
类型名称 说明 存储大小 取值范围
TINYINT 很小的正数(一般用于boolean存储) 1个字节 -128~127
unsigned:0~255
SMALLINT 小正数 2个字节 -32768~32767
unsigned:0~65535
MEDIUMINT 中等大小的正数 3个字节 -2^23 ~2^23-1
unsigned: 2^24 -1
INT(INTEGER) 普通大小的正数 4个字节 -2^31 ~2^31-1
unsigned: 2^32 -1
BIGINT 大正数(一般用于主键) 8个字节 -2^63 ~2^63-1
unsigned: 2^64 -1
小数型数据类型
FLOAT(M,N)  M表示总共位数,N表示小数位数(单精度浮点数) 4个字节 ±1.175494351E – 38
DOUBLE(M,N) 双精度浮点数 8个字节 ±2.2250738585072014E – 308
DECIMAL(M,D) 压缩的严格定点数 M+2个字节 可变;其值的范围依赖于M 和D
字符串数据类型
CHAR(N) 固定长度  N * C(字符存储大小见文末注释1) 0~255字符
VARCHAR(N) 可变长度(与CHAR区别见文末注释2 实际存储大小 0~65535字节
TEXT 文本 实际存储大小 0~65535字节
LONGTEXT 长文本 实际存储大小 0~2^32-1字节
日期数据类型
DATE 存储日期值(yyyy-MM-dd) 3个字节 1000-01-01~9999-12-31 
TIME 存储时分秒(HH:mm:ss) 3个字节 00:00:00~23:59:59 
DATETIME 存储日期+时间(yyyy-MM-dd HH:mm:ss) 8个字节

1000-01-01 00:00:00~

9999-12-31 23:59:59

TIMESTAMP 存储日期+时间,可作时间戳(yyyy-MM-dd HH:mm:ss) 4个字节 1970-01-01 00:00:01~ 2038-01-19 03:14:07

 注释1:

UTF-8   : 一个英文/数字字符占1个字节,一个中文(含繁体)字符占3个字节。
Unicode: 一个英文/数字字符占2个字节,一个中文(含繁体)字符占2个字节。
符号      : 英文标点占1个字节,中文标点占2个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小。

注释2:

char:固定长度,最大长度是255字符。适合用在身份证号码、手机号码等定、等长的加密密码等。 
varchar:可变长度,最大长度65535字节,其实最多只能存储65532个字节,还有3个字节用于存储长度。
      
1)char的存取速度优于varchar
2)char(20)表示这个字段最多存20个字符,如果只存了16个字符,那么也会占用20个字符的空间
   varchar(20)表示这个字段最多存20个字符,如果只存了16个字符,那么只占用16个字符的空间
3)即使使用Varchar数据类型,也不能够太过于慷慨!比如你只使用到90个字符,VARCHAR(100)与VARCHAR(200),虽然他们用来存储90个字符的数据,其存储空间相同。但是对于内存的消耗是不同的。



 

         

你可能感兴趣的:(mysql常用数据类型,mysql常用数据类型)