视图概述
视图是逻辑上来自一个或多个表的数据集合。
视图的分类
视图分为简单视图和复杂视图,最基本差别在
DML操作上
创建视图
视图语法:
-创建视图时,在子查询中使用列的别名
修改视图
用create or replace view子句修改视图,为每个列添加别名。
CREATE VIEW子句中别名的顺序必须和内部查询中
的列的顺序一一对应。
视图上执行dml操作
• 在简单视图上可以执行 DML 操作;
• 您可以通过视图 删除基表中数据,只要视图中不出现
以下情况:
– Group 函数;
– GROUP BY 子句;
– DISTINCT 关键字;
• 您可以通过视图 修改基表中数据,只要视图中不出现
以下情况:
– GROUP函数、GROUP BY子句,DISTINCT关键字;
– 使用表达式定义的列;
• 您可以通过视图向基表 插入数据,只要视图中不出
现以下情况:
– GROUP函数、GROUP BY子句,DISTINCT关键字;
– 使用表达式定义的列;
– 基表中未在视图中选择的其它列定义为非空并且没有默认值;
• 如果要确保在视图上执行的DML操作仅限于一定的
范围,便可使用WITH CHECK OPTION子句;
删除视图
删除视图并不会删除数据,因为视图是基于数据库中的基表的虚表。
索引概述
索引简介
– 索引是一种特殊的数据库结构,可以用来快速查询数据库
表中的特定记录。索引是提高数据库性能的重要方式。
MySQL中,所有的数据类型都可以被索引 。
创建索引
创建索引是指在某个表的一列或多列上建立一
个索引,以便提高对表的访问速度。创建索引
有三种方式,这三种方式分别是:
– 创建表的时候创建索引
– 在已经存在的表上创建索引
– 使用ALTER TABLE语句来创建索引
创建表时候创建索引
• 创建表的时候可以直接创建索引,这种方式最简
单、方便。其基本形式如下:
• CREATE TABLE 表名 ( 属性名 数据类型 [完整
性约束条件],
属性名 数据类型 [完整性约束条件],
…
属性名 数据类型
[UNIQUE | FULLTEXT | SPATIAL] INDEX | KEY
[别名](属性名1 [(长度)] [ASC | DESC])
);
在已经存在的表上创建索引
alter table语句来创建索引
ALTER TABLE 表名 ADD [ UNIQUE |
FULLTEXT | SPATIAL ] INDEX
索引名(属性名 [ (长度) ] [ ASC | DESC])
删除索引
删除索引是指将表中已经存在的索引删除掉。
一些不再使用的索引会降低表的更新速度,影
响数据库的性能。对于这样的索引,应该将其
删除。
• 对应已经存在的索引,可以通过DROP语句来
删除索引。基本形式如下:
• DROP INDEX 索引名 ON 表名 ;