一、约束
1、NOT NULL:非空约束
2、UNIQUE:唯一性约束
3、PRIMARY KEY:主键约束(非空+唯一,且一个表里只有一个,主键自带索引)
1)联合主键:多列设置为一个主键,要求多列组合不完全相同。
4、FOREIGN KEY:外键约束(这一列去参考另一张表的某一列)
1)被参考的数据不能任意删除,要先删建立外键的表的对应数据(类比:部门没了,要把部门员工都删了,才可以把部门删了)。
2)CASCADE级联删除、更新:删除、更新被参考的数据,参考它的数据也会被删除或更新。(Oracle 没有级联更新)
3)SET NULL:被参考的数据改变时,参考它的数据涉及到改变的部分会变成null。
二、视图
1、视图可以当成表来用,但视图不是一张正真的表,一个视图其实存储的时一条SQL,不可应对视图进行增删改(不绝对)。
2作用:简化查询和更方便控制权限(展示部分列)。
3、视图无法提高查询效率。
建视图:CREATE VIEW 视图名 as SELECT查询语句
查视图:SELECT 列名1,列名2 FROM 视图名
三、索引
1、索引方法
1)btree:树结构,左小右大
2)hash算法:比btree效率高,只可以等于,不支持大于小于。
2、优点缺点
1)提高查询性能
2)消耗额外的存储空间
3)降低增删改的性能
3、联合索引
多列数据共同建立一个索引,在对应列联合查询的时候效率会更高。
四、临时表
创建:CREATE TEMPORARY TABLE 临时表名 AS SELECT查询语句
查找:SELECT * FROM 临时表名