日拱一卒无有尽,功不唐捐终入海

常见MySQL数据类型大小及长度

DataBase Sam 702℃ 0评论

mysql常见数据类型

MySQL有几种数据类型可以限制类型的”长度”,有CHAR(Length)、VARCHAR(Length)、TINYINT(Length)、SMALLINT(Length)、MEDIUMINT(Length)、INT(Length)、BIGINT(Length)、FLOAT(Length, Decimals)、DOUBLE(Length, Decimals)和DECIMAL(Length, Decimals)。

然而,这些数据类型的长度,并不是都指数据的大小。具体说就是:
(1)CHAR、VARCAHR的长度是指字符的长度,例如CHAR[3]则只能放字符串”123″,如果插入数据”1234″,则从高位截取,变为”123″。 VARCAHR同理。

(2)TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT的长度,其实和数据的大小无关!Length指的是显示宽度,举个例子:

可以看出,id的显示宽度为3,不足的左边补0,数据长度超过的则原样输出。如果没有zerofill,则看不出显示宽度,没有前导零。

(3)FLOAT、DOUBLE和DECIMAL的长度指的是全部数位(包括小数点后面的),例如DECIMAL(4,1)指的是全部位数为4,小数点后1位,如果插入1234,则查询的数据是999.9。过程如下

常见mysql数据类型附表

类 型 大 小 描 述
CAHR(Length) Length字节 定长字段,长度为0~255个字符
VARCHAR(Length) String长度+1字节或String长度+2字节 变长字段,长度为0~65 535个字符
TINYTEXT String长度+1字节 字符串,最大长度为255个字符
TEXT String长度+2字节 字符串,最大长度为65 535个字符
MEDIUMINT String长度+3字节 字符串,最大长度为16 777 215个字符
LONGTEXT String长度+4字节 字符串,最大长度为4 294 967 295个字符
TINYINT(Length) 1字节 范围:-128~127,或者0~255(无符号)
SMALLINT(Length) 2字节 范围:-32 768~32 767,或者0~65 535(无符号)
MEDIUMINT(Length) 3字节 范围:-8 388 608~8 388 607,或者0~16 777 215(无符号)
INT(Length) 4字节 范围:-2 147 483 648~2 147 483 647,或者0~4 294 967 295(无符号)
BIGINT(Length) 8字节 范围:-9 223 372 036 854 775 808~9 223 372 036 854 775 807,或者0~18 446 744 073 709 551 615(无符号)
FLOAT(Length, Decimals) 4字节 具有浮动小数点的较小的数
DOUBLE(Length, Decimals) 8字节 具有浮动小数点的较大的数
DECIMAL(Length, Decimals) Length+1字节或Length+2字节 存储为字符串的DOUBLE,允许固定的小数点
DATE 3字节 采用YYYY-MM-DD格式
DATETIME 8字节 采用YYYY-MM-DD HH:MM:SS格式
TIMESTAMP 4字节 采用YYYYMMDDHHMMSS格式;可接受的范围终止于2037年
TIME 3字节 采用HH:MM:SS格式
ENUM 1或2字节 Enumeration(枚举)的简写,这意味着每一列都可以具有多个可能的值之一
SET 1、2、3、4或8字节 与ENUM一样,只不过每一列都可以具有多个可能的值

 

转载请注明:PHP笔记 » 常见MySQL数据类型大小及长度

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)