【整型列M-unsgined-zerofill详解】
1.每种数据的类型都有的两种表达方式(有无符号)
例子:
TINYINT[(M)] [UNSIGNED] [ZEROFILL]
一个很小的整数。有符号的范围是-128
到127
,无符号的范围是0
到255
。
SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
一个小整数。有符号的范围是-32768
到32767
,无符号的范围是0
到65535
。
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
一个中等大小整数。有符号的范围是-8388608
到8388607
,无符号的范围是0
到16777215
。
INT[(M)] [UNSIGNED] [ZEROFILL]
一个正常大小整数。有符号的范围是-2147483648
到2147483647
,无符号的范围是0
到4294967295
。
一般类型的转换公式:
有符号的范围:-2^(n-1) 到 2^(n-1) -1
无符号的范围: 0 到 2~(n)
2.参数M 要与zerofill 结合使用才有意义
3.有没有使用Unsgined的结果是数据存储范围是不一样的。
4.不要需要负数类型的就使用无符号类型(年龄)
5.需要的自动填充的数据类型就使用M和zerofill(学号,证件号)
【使用cmd命令创建表格的规范】
例子:
create table goods (
goods_id mediumint(8) unsigned primary key auto_increment,
goods_name varchar(120) not null default '',
cat_id smallint(5) unsigned not null default '0',
brand_id smallint(5) unsigned not null default '0',
goods_sn char(15) not null default '',
goods_number smallint(5) unsigned not null default '0',
shop_price decimal(10,2) unsigned not null default '0.00',
market_price decimal(10,2) unsigned not null default '0.00',
click_count int(10) unsigned not null default '0'
) engine=myisam default charset=utf8;
engine=myisam default charset=utf8; 这一句命令 是设置得了字符型,有必要的在最后加上这一句话(在括号的外面)