mysql数据类型

Mysql  数据类型:

 

整型                  

 

   字节

无符号 

有符号

Tinyint                     

 

1

0->2^8-1 

-2^7->+2^7-1

 

Smallint             

 

 2 

16    

0->2^16-1  

-2^15>+2^15-1

Mediumint            

 

24     

0->2^24-1 

-2^23->+2^23-1

Int                     

 

 4

32  

0->2^32-1  

-2^31->+2^31-1

Bigint                    

 

  5

40 

0->2^39-1 

-2^39->+2^39-1



 

如何申明为无符号:

Tinyintm) unsigned  zefofill

宽度(在0填充是才有意义)

Unsigned   无符号类型(非负)

Zefofill    0填充  自动为无符号

默认为有符号

 无符号申明格式:列明  tinyint  unsigned 。

 zefofill 的功能   如下申明: tinyint(2)zefofill    在这样的一个格式内输入一个数字 前面会自动补齐一个0  是宽度为2。

默认值如何设置:

Default 默认值。

 

小数型:浮点型,定点型:

Floatm,d

为小数的总长度,不包括. d为 (.)后面的长度

定点型:Decimalmd) 比float 更精确

 

字符串:

 

类型                    

 

  说明

申明方式  

范围

Char           

  定长字符串 

  char(m)

0<=m<=255

Varchar        

 变长字符串 

varchar(m)

0<=m<=16635 约2w到6w个字符

  text     

文本串    

text

 约2w到6w个字符受字符集的影响

              

M为字符个数。

 

Char  和 varchar 的区别 :

Char 如果给它自动一个长度如5  如果输入3个字符   如‘新年好’ 那么在mysql 里还是占5个字符  后面会自动补齐2个空格 。

Varchar 如果给它自动一个长度如5  如果输入3个字符   如‘新年好’ 那么在mysql 里他只会站3个字符不会用空格补齐。

如果同时在两种里面输入‘过年好  ’后面有两个空格   在读取char里的内容是 自会读取‘过年好’ 空格会省略 因为mysql会把后面的空格看系统为了补齐加的。而varchar 读取时就是‘过年好  ’后面会有空格。

两种类型的使用率:

Char 的使用率是   <=100%

Varchar 的使用利率是 <100%

为什么varchar 的使用率达不到100%呢 应为varchar 后面会有 2个字节 来记录varchar中内容的长度。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。