mysql字段解释
/前言/
—————————————————INT
int(11)中的11仅仅代表数据库显示的长度,不影响存储的值的大小,只是在你的数据不满11位数时,自动在前面补0!!!!
例–:
你输入123
数据库存储的是0000000123
!至于为什么我们平时用navicat看不到,是因为,自动补0功能要和字段的zerofill属性一起用才行!
例–:
x int(1) zerofill
如果你保存的数据是大于11位数字,如为13位,则int(11)中的11并没有任何意义,显示的还是13位数字
————————————————char、varchar
char定义的数据库长度是固定的,如char(5),那么字段一直存储的5个字符,不满5个字符也会在你的字符后面自动追加”空格“的,直到满5个为止,所以相对耗空间,但是读写速度快,因为堆栈已经设置好了!
varchar定义的数据库长度是不固定的,但最大长度不能超过你的设置的,如varchar(6),那么最多存储6个字符,不存在自动追加空格情况,每个值只占用刚好够用的字节 + 一个用来记录其长度的字节(即总长度为L+1个字节),所以相对省空间,但是读写速度慢!