约束
--------------------------------------------------------
约束包括:
not null、unique、primary key、foreign key、check
not null(非空)
如果在列上定义了 not null ,那么当插入数据时,必须为列提供数据
unique(唯一)
当定义了唯一的约束后,该列的值是不能重复的,但是可以为null
primary key(主键)
用于唯一的表示表的行的数据,当定义了主键约束后,该列不但不能重复而且不能为null.
需要说明的是:一张表最多只能 有一个主键,但是可以有多个unqiue约束。
================= 索引
----------------------------------------------------------
单列索引
create index 索引名 on 表名(列名)
复合索引
create index 索引名 on 表名(列名1,列名2);
create index 索引名 on 表名(列名2,列名1);
sql的扫描是从后往前扫描的 所以把排除数据最多的放在后面
索引的使用原则:
1.在 大表上建立索引才有意义
2.在where子句中或是在连接条件上经常引用的列上建立索引
3.索引的层次不要超过4层