请问mysql 建表时的数字代表什么?

来源:百度知道 编辑:UC知道 时间:2024/05/24 07:52:09
mysql建表时会提供一些数据类型和数字,如:create table test(ID int(4),name varchar(64));
,这里的int(4)中的4是什么意思,4个字节吗?可以我把他提高到int(8)好象和bigint也不等效,请高手回答,谢谢。另外,能顺便解释一下这些数据类型的话更加感谢。
首先感谢shibao514和RMB杀手的热心解答,不过可能我问题描述有点模糊,我的问题其实很简单,int(4)的4到底决定了什么长度,0~9999的4位数?还是4byte的int?另外就是int(4)和int(11)到底哪里不同(varchar那个问题就不用管了...)再次感谢,帮忙解答一下吧.

create table test(ID int(4),name varchar(64));
ID int(4) 里面的4代表的是长度为4 而不是1楼所说的4个字节;
name varchar(64) ,varchar是一个存储时可变的字符串,64代表该字符串能接受的最大长度..如果超出64了就只取前面的64位而把反而的忽略掉..如果不足的话就只存储该字符串的实际长度..char这种类型就是不足的话就会用空格来把长度真满..就这是varchar和char的区别..

补充说明 :
ID int(4) 的长度是0-9999的长度 并不是4个位的bytes的长度

int就是整数,一般固定4个字节,varchar指可变长度的字符串,其大小可以自己定义的