索引和视图
约束:
主要用于保证业务逻辑操作数据库时数据的完整性,逻辑层面的概念
索引:
将关键字数据以某种数据结构的方式存储到外存,用于提升数据的检索性能,既有逻辑层上的概念,更是一种物理存储方 式,且实际存在、需要耗费一定的存储空间
- 创建索引
- 建表时同时创建索引
create table 表名
( 字段名 数据类型 [约束条件],…… [其它约束条件],
…. [unique | fulltext] index [索引名](字段名 [(长度)] [asc | desc])
)engine = 存储引擎类型 default charset = 字符集类型
- 在已有表上创建索引
create [unique | fulltext] index 索引名 on 表名(字段名 [(长度)] [asc | desc])
alter table 表名 add[unique | fulltext] index 索引名(字段名[(长度)] [asc |desc])
- 删除索引
drop index 索引名 on 表名
视图:
是一个虚表,即视图所对应的数据不进行实际存储
-
优点:
• 为用户集中数据,建华用户的数据查询和处理
• 屏蔽数据库的复杂性
• 简化用户权限的管理
• 便于数据共享
• 可以重新组织数据以便输出到其他应用程序中 -
作用:
• 使操作变得更简单
• 避免数据冗余
• 增强数据安全性
• 提高数据的逻辑独立性
创建视图 :
create view 视图名[(视图字段列表)] as select语句
查看视图名:
show tables;
查看视图详细信息:
show table status [from 库名][like “视图名”]\G
查看视图定义信息:
show create view 视图名;
查看视图设计信息:
describe 视图名;
修改视图:
create or replace view 视图名 as select子句;
或 alter view 视图名 as select子句;
删除视图:
drop view [if exists] 视图名[,视图名]…;
检查视图:只有满足检查条件的更新语句才能成功执行
创建语句:
create view 视图名[(视图字段列表)] as select语句 with [local | cascaded] check option