Mysql_学习2

 【整型列M-unsgined-zerofill详解】

1.每种数据的类型都有的两种表达方式(有无符号)

 例子:

     TINYINT[(M)] [UNSIGNED] [ZEROFILL]一个很小的整数。有符号的范围是-128127,无符号的范围是0255

     SMALLINT[(M)] [UNSIGNED] [ZEROFILL]一个小整数。有符号的范围是-3276832767,无符号的范围是065535

     MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]一个中等大小整数。有符号的范围是-83886088388607,无符号的范围是016777215

     INT[(M)] [UNSIGNED] [ZEROFILL]一个正常大小整数。有符号的范围是-21474836482147483647,无符号的范围是04294967295

一般类型的转换公式:

有符号的范围:-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;      这一句命令 是设置得了字符型,有必要的在最后加上这一句话(在括号的外面)

原文地址:https://www.cnblogs.com/zhengweizhao/p/6742730.html