mysql数据表设计要点以及快门

时间:2021-06-23 12:19:21

一个sql表的设计首先要考虑的是字段

然后去考虑这个字段应该具有哪些特性,

最后,考虑哪些字段经常用于查询,设置为索引

下面是一个比较简单的例子,大概说明了怎么样去构造sql语句创建一个sql表


create table user_message(id int UNSIGNED not null auto_increment COMMENT 'ID',
cid int UNSIGNED not null comment '外键,关联user表的id',
username VARCHAR(16) not null default '',
password varchar(64) not null default '',
sex enum('nan','nv') not null default 'nan',
salary int UNSIGNED not null default 5000,
PRIMARY key (id),
FOREIGN key (cid) REFERENCES user(id),
key (username),
key (password)
)ENGINE=myisam default charset=utf8;


总结 : 写sql的快门:

1. 定义字段,并为每个字段考虑需要添加的属性(索引先不要写)

2. 字段定义之后,再统一定义索引(包括主键和外键还有普通键等,这样sql语句定义比较清楚,运行时出现错误也比较容易排错)

3.注意:定义外键时,需要指定外键指向哪个表的哪个字段  并且注意 , innodb引擎是不支持外键的,所以如果想要使用外键,不能定义为innodb引擎




ps: 不足之处,请在评论区指出