MYSQL创建数据表!

几个常见的建表原则

a,表都加前缀
b,所有的字段选择最小的数据类型,如id可以使用mediumint比INT节省25%的空间
c,尽量所有的字段都设置为NOT NULL的,这样能让速度更快
d,为合适的字段(将来用来查询或者排序的字段)建索引

id 可以用 int , 但是建议使用 mediumint
 
常用的四种
tinyint :  0-255
samllint :  0-65535
mediumint : 0-1千6百多万
int:0-40亿
名称,类型,主键,不为空,自增
id mediumint unsigned not null auto_increment,
===================================
商品价格:
使用decimal(10,2) 表示:一共是十位数字,其中两位是小数,整数位是八位
price decimal(10,2) not null default '0.00' coment '商品价格',
===================================
商品描述:
char : 0-255个字符;
varchar : 0-65535个字节;如果是 utf8 能存 2万多汉字,gbk能存3多字
text:0-65535个字
goods_desc longtext comment '商品描述',
===================================
商品添加时间:
使用int :因为现在的时间已经是14亿多了
addtime int unsigned not null comment '添加时间',
====================================

新建一个数据表

drop table if exists fyz_goods;
create table fyz_goods(
id mediumint unsigned not null auto_increment,
goods_name varchar(45) not null comment '商品名称',
logo varchar(150) not null default '' comment '商品logo',
sw_logo varchar(150) not null default '' comment '商品缩略图',
price decimal(10,2) not null default '0.00' comment '商品价格',
goods_desc longtext comment '商品描述',
is_on_sale tinyint unsigned not null default '1' comment '是否上架;1:上架;0:下架;',
is_delete tinyint unsigned not null default '0' comment '是否删除;1:已经删除;0:没有删除',
addtime int unsigned not null comment '添加时间',
primary key (id),
key price(price),
key is_on_sale(is_on_sale),
key is_delete(is_delete),
key addtime(addtime)
)engine=MyISAM default charset=utf8;
上一篇:如何用NAnt管理单文件程序仓库


下一篇:蓝桥杯 历届试题 约数倍数选卡片 (经典数论+DFS)