视图
一、视图的概念及作用
1、什么是视图?
视图(view)是一种虚拟存在的表(亦叫虚表),是一个逻辑表,本身并不包含数据。
基表:用来创建视图的表叫做基表base table。
视图的诸多优点:
1)简单,使用视图的用户完全不需要关心对应基表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。
2)安全,使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。
3)数据独立,一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,基表增加列对视图没有影响;基表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。
总而言之,使用视图的大部分情况是为了保障数据安全性。
二、视图管理
1、视图的创建
create view <视图名称> [(column_list)]
as
select语句;
例子:
create view vT(a,b,c)
as
select sNo,sName,sPassword from students;
2、查看视图
desc 视图名;
3、修改视图
A、alter操作的前提是指定数据库对象已存在
alter view vTest
as
select sNo,sName from Students;
B、create or replace操作
create or replace:无论视图是否存在,均可进行操作——如果不存在,则进行创建操作;如果存在,则进行修改操作
create or replace view vT(a,b)
as
select sNo,sName from students;
4、删除视图
语法:drop view 视图名[,视图名,…]
示例:
drop view vT;
drop view vT,vTest;
三、嵌套视图
定义在另一个视图的上面的视图;视图的结构除了可以来自基表外,还可来自其他试图
索引
一、索引的概念
在MySQL中,索引(index),也叫键(key),它是存储引擎用于快速找到记录的一种数据结构。
对相关列使用索引是提高查询速度的最佳途径。
二、索引的管理
1、创建索引
A、创建表时创建索引
create table a(
a int auto_increment primary key, #主键(自动生成主键索引,特殊的唯一索引)
b char(6) unique, #唯一键(自动生成唯一索引)
c datetime,
d float,
index cc(c), #普通索引,在该表字段c上构建名为cc的普通索引
key dd(d) #普通索引,在该表字段d上构建名为dd的普通索引
);
B、在已存在的表上创建索引
alter table 表名
add [unique] index 索引名(字段名[(长度)],…) [asc|desc];
C、使用create index语句
create [unique] index 索引名 on 表名(字段名[(长度)],…) [asc|desc];
2、查看索引
A、图形化界面查看索引,通过旁边的树形目录可查看
B、图形化界面,通过右击表名--索引管理查看
C、通过语句:show index from 表名; 查看
3、修改索引
先删除指定索引,再以修改后的内容创建同名索引。
4、删除索引
语法:
alter table 表名
drop index 索引名;
例:
删除表a的索引ee
alter table a
drop index ee;