搜索
您的当前位置:首页正文

数据库常用字段设计扫盲

来源:二三娱乐

一、varchar

varchar(<b>N</b>)
<b>N</b>指的是字符的长度

长度 是当前字符集的<b>字符</b>长度,而不是字节长度!

varchar(5)能存储5个字符,不管是数字,字母,还是汉字.

id  content
1   12345
2   中国人民银
MySQL中char,varchar与text类型的选用:

知道固定长度的用char,比如MD5串固定是32位.
经常变化的字段用varchar.
超过255字符的只能用varchar或者text,不能用char.
能用varchar的地方不用text.

二、int

int(<b>N</b>)
<b>N</b>指的是字符的填充位数

以下是每个整数类型的存储和范围(来自mysql手册)
类型      字节      最小值                     最大值
                       (带符号的/无符号的)       (带符号的/无符号的)
TINYINT    1         -128                     127

                         0                       255

SMALLINT      2          -32768                 32767

                         0                         65535

MEDIUMINT    3       -8388608                 8388607

                         0                       16777215

INT        4         -2147483648              2147483647

                         0                       4294967295

BIGINT      8        -9223372036854775808    9223372036854775807

                        0                        18446744073709551615

mysql手册中这个长度/值用"M"来表示的.
细心的朋友应该有注意到过mysql手册上有这么一句话:
<b>M指示最大显示宽度。最大有效显示宽度是255。显示宽度与存储大小或类型包含的值的范围无关;</b>

怎么理解?

我设置成int(1), 也一样能存10,100,1000

如果number字段,int(5),<b>属性=UNSIGNED ZEROFILL</b>(无符号,用0来填充位数)
设置这个属性后我往表时插入数据,系统会自动把number字段M不够5位的在左侧用0来填充; 效果如下:


Top