【2014/10/22】mysql 索引 视图

创建索引
create [unique] index index_name 
on table_name(列名 [asc],列名2....)
例如:create index index_n on student(sname desc);
create index index_n on student(sname(10) asc)前10行创建索引
删除 索引drop index index_n on student
查看索引:
show index from table_name
索引的优点:
加快访问速度
加快行的唯一性
缺点:
带索引的表在数据库中需要更多的存储空间
操纵数据的命令需要更长的处理时间,是因为他们需要对索引进行更新


创建索引的知道原则
该列用于频繁搜索
该列用于对数据进行排序
不要建立索引:
列中仅仅包含几个不同的值
表中仅仅包含几行
因为 为小型表创建索引可能不太划算,因为数据库系统在索引中搜索数据所话的时间比表中逐行搜索所话花的时间更长


视图的作用:
简化用户的操作
使用户能以多角度看待同一数据
对重构数据库提供了一定程度的逻辑独立性
能够对机密数据提供安全保护
筛选表中的行
防止未经许可的用户访问敏感的数据
降低数据库的复杂程度


视图是一张虚拟表,它表示一张表的部分数据或者多张表的综合数据,其结构和数据是建立在对标的查询基础上的
视图并不存放数据而是存放在视图所引用的原来的表中
同一张表可以根据不同的用户创建不同的视图


视图的用途:
筛选表中的行
防止未经许可的用户访问敏感数据
降低数据库的复杂程度
将多个物理数据库抽象为一个逻辑数据库


create view view_name[(列名,列名...)]
as
子查询
with check opotion

 在视图中启用新的适合的名字


with check option 指明当对视图进行修改时,检查是否满足视图定义的条件


基于一个表建立视图
create view view_name
as 
select sno,sname,sage
from student
wehere..


如果写完后发现视图写错了
1可以删掉重新写
2可以alter view view_name as......


show create view view_name 给出创建这个视图的语句
drop view view_name
视图和基本表的连接查询
查询所建立的视图 show tables; 这个语句就把视图也显示出来了...所以可以把视图当做表看吧


创建视图的时候 如果用了with check option
比如你建立的女的视图 写了with check option 那么你插入男生的就不行啊 




对于多表视图操作,总结来说那就是只允许对视图进行查询和修改,删除和添加基本上都不允许
当是多表视图的时候可以进行修改查询 但是不能插入 为啥 因为多表 每个表有很多限制哪个不对就差了
单表的插入的时候 有时候也错的 为啥 也是因为原表的显示呀

对视图的操作会反应到原表上 原表的操作也会反应到视图上


pshttp://zhangzhenyihi.blog.163.com/blog/static/13548809420141104122391/ 这个写的不错可以参考~~

http://www.jb51.net/article/36363.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值