int(3) 和int(10)的区别 在没有指定 zerofill 没啥区别 如果指定了 当当前数字 不足够 () 中的数字时候 会在前边默认填充0
varchar(10) 中代表的是字符数,而不是字节数, 如下图数据库 当输出10个中文/10个英文/10个中英文混 的都可以
mysql5.0+ 中
utf8:
1character=3bytes, 1汉字=1character
也就是说一个字段定义成 varchar(200),则它可以存储200个汉字或者200个字母。
gbk:
1character=2bytes,1汉字=1character
也就是说一个字段定义成 varchar(200),则它可以存储200个汉字或者200个字母。
CREATE TABLE `ims_a` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`num` int(3) unsigned zerofill DEFAULT '000',
`name` varchar(10) DEFAULT NULL,
`cname` char(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of ims_a
-- ----------------------------
INSERT INTO `ims_a` VALUES ('1', '011', '1111111111', '1111111111');
INSERT INTO `ims_a` VALUES ('2', '11111', '肇东哭肇东哭肇东哭赵', '肇东哭肇东哭肇东哭赵');
INSERT INTO `ims_a` VALUES ('3', '111111111', '1234567891', '1234567891');
INSERT INTO `ims_a` VALUES ('4', '001', '11111', '1111');
INSERT INTO `ims_a` VALUES ('5', '000', '阿范z萨发第三方', '孙菲菲付');