一、视图
视图你可以将其看成一个虚拟表,其内容其实就是一条查询语句,当你调用视图的时候会触发查询语句,然后查询语句执行,得到结果。
视图的作用
简化操作:视图是查询语句的构成的,每一个视图对应一条查询语句,当需要执行某个语句时,只需调用对应的视图即可,这个过程使得不会sql语句的人也能操作数据库,大大的简化了操作。
数据安全:通过视图我们只能看到某些表的部分数据,这样避免了数据的裸露,有力的保障了数据的安全,企业中一个数据库通常有多个部门同时操作,我们可以通过视图将数据库合理的开放给需要对应模块数据的部门,这样可以合理的管理数据库。
视图的优点
视点集中:使用户看到它只关心和感兴趣的某些特定数据或者他们所负责的特定任务。
简化操作:视图是查询语句的构成的,每一个视图对应一条查询语句,当需要执行某个语句时,只需调用对应的视图即可,这个过程使得不会sql语句的人也能操作数据库,大大的简化了操作。
定制数据:让不同的用户以不同的方式看到不同或相同的数据集。
合理分割数据:表的设计时常将表进行水平分割或垂直分割,使表的结构发生变化,表的变化却对应用程序产生不良的影响,视图可以重新保持原有的结构关系,从而使外模式保持不变,原有的应用程序仍可以通过视图来重载数据。
安全性:通过视图用户只能查看和修改他们所能看到的数据,其它数据库或表既不可见也不可以访问。这样避免了数据的裸露,有力的保障了数据的安全。
视图的操作
1. 视图的创建:create view viewName as 查询语句
2. 视图的查找:select * from view_all_emp;
3. 视图的删除:drop view viewName
二、索引
索引:是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构。它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容
索引的种类
1.普通索引
2.主键索引 primary key
3.唯一索引 unique
4.组合索引(几个字段合在一起做一个索引)
5.全文检索索引 full text等
索引的操作
1.索引的添加
(1).在创建表的时候创建索引:
create table tableName(
id int primary key ,
age int not null,
name varchar(50)
index my_index (name(255))
)
此种方法创建索引时索引的名字my_index可以不写,系统会默认添加,但是系统添加的索引名字需要查看才能知道。
(2)alter 修改表,添加索引
alter table tableName add index indexName(字段(length))
(3)create 关键字创建索引
create index indexName on tableName(字段(length));
2.索引的查询
查看表中的索引:show index from tableName;
3.删除索引
索引的删除:drop index indexName on tableName;
索引的原理
索引是根据btree和hash
btree:b+tree b-tree
hash:哈希算法是一种散列算法 具有不可逆性 唯一性