视图

视图就是一个表或多个表的查询结果,它是一张虚拟的表,因为它并不能存储数据。

视图的作用、优点:

  限制对数据的访问

  让复杂查询变得简单

  提供数据的独立性

  可以完成对相同数据的不同显示

//创建、修改视图
create or replace view view_temp
as
select name, age from temp; //通常不对视图的数据做修改操作,因为视图是一张虚拟的表,它并不存储实际数据。如果想让视图不被修改,可以用with check option来完成限制。
create or replace view view_temp
as
select *from temp
with check option; //删除视图
drop view view_temp; //显示创建语法
show create view v_temp;

显示学生成绩单的视图

mysql> create view student_cj as select students.number,students.name,course.math,course.english,course.chinese
-> from students,course
-> where students.number=course.number;
Query OK, 0 rows affected (0.00 sec)

使用student_cj个视图,显示结果

删除这个视图

mysql> drop view student_cj;
Query OK, 0 rows affected (0.00 sec)

查看视图的信息

mysql> show create view student_cj\G

索引

1.在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据。[ 是为了快速查询而针对某些字段建立起来的。]

2.更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。

3.表

01.数据库中的数据都是存储在表中的

02.表是物理存储的,真实存在的

2.案例

创建索引:create index degree_fast on score (degree); 

这里的dgeree_fast是索引名,score是表明,degree是表中的一个字段。 

创建视图:

create view [viewName] as
select [someFields]
from [tableName]

删除索引: 

- 01.方式一:drop index degree_fast on score; 

- 02.方式二:alter table score drop index degree_fast;

Mysql cannot drop index needed in a foreign key constraint.Mysql不能在外键约束下删除索引。如果有外键的话,需要先把外键删除,然后再删除索引。

MySQL视图及索引的更多相关文章

  1. mysql视图,索引和存储过程

    一:视图 视图又叫虚表.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成. 具体 ...

  2. mysql 视图 事务 索引

    为什么需要有视图 * 对于复杂的查询,往往是有多个数据表进行关联查询而得到,而这种语句往往比较复杂,也可能非常频繁的使用. 比如这样的SQL语句 select goods.name,goods_cat ...

  3. mysql视图,索引

    一.视图 View 视图是一个虚拟表,是sql语句的查询结果,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据,在使用视图时动态生成.视图的数据变化会影响到基表,基表的数据变化也会 ...

  4. MySQL 视图 事务 索引 外连接

    视图 1.定义 select 语句的结果集,是一张虚拟的表2.创建视图语句create view 视图名 as select语句3.查看视图show views;4.使用视图select * from ...

  5. mysql优化---订单查询优化:视图优化+索引创建

    订单的表结构采用了垂直分表的策略,将订单相关的不同模块的字段维护在不同表中 在订单处理这个页面,需要查询各种维度, 因此为了方便查询创建了v_sale_order视图(老版本) drop view v ...

  6. mysql优化---订单查询优化(1):视图优化+索引创建

    订单的表结构采用了垂直分表的策略,将订单相关的不同模块的字段维护在不同表中 在订单处理这个页面,需要查询各种维度, 因此为了方便查询创建了v_sale_order视图(老版本) drop view v ...

  7. mysql 视图 触发器 存储过程 函数事务 索引

    mysql 视图 触发器 存储过程 函数事务 索引 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当 ...

  8. 2020重新出发,MySql基础,MySql视图&索引&存储过程&触发器

    @ 目录 视图是什么 视图的优点 1) 定制用户数据,聚焦特定的数据 2) 简化数据操作 3) 提高数据的安全性 4) 共享所需数据 5) 更改数据格式 6) 重用 SQL 语句 MySQL创建视图 ...

  9. Mysql 视图 游标 触发器 存储过程 事务

    Mysql 视图 触发器 存储过程 游标 游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中 ...

随机推荐

  1. apktool android studio 调试 smali code, 重新打包

    虽然有些菜单的位置跟新版的Android Stuido 3.4 有些不同,但是能用. https://crosp.net/blog/software-development/mobile/androi ...

  2. wal2json pg扩展centos7构建

    使用wal2json可以将pg 变动输出为json 格式,是一个pg 扩展,支持pg9.4+ 目前看到netflix 的dblog 对于pg 的支持就是基于此插件 以下是关于centos 7的构建说明 ...

  3. RHEL7 安装Docker-CE

    rhel7官方有源可以直接使用,前提是需要订阅, 参考地址 通过添加CentOS7 源,进行安装: 通过添加CentOS7 源,进行安装 参考博客 安装container-selinux依赖(Requ ...

  4. 洛谷 P1919 A*B Problem升级版

    妈妈我终于会\(A*B\ problem\)啦~~ 题目大意: 给你两个正整数 \(a,b\),求\(a*b\) 其中\(a,b\le 10^{1000000}\) 我们只要把多项式\(A(x)=\s ...

  5. NLP之预训练

    内容是结合:https://zhuanlan.zhihu.com/p/49271699 可以直接看原文 预训练一般要从图像处理领域说起:可以先用某个训练集合比如训练集合A或者训练集合B对这个网络进行预 ...

  6. MacbookPro升级10.15 Catalina之后无法读写NTFS

    冲着Sidecar的双屏功能,乐呵呵的跑去升级了10.15,结果就悲剧了. 所有移动硬盘和U盘都写不了,无奈只好上网找办法,目前找到一个便宜的方法: 共2步: Step 1:编写fstab文件 使用T ...

  7. [LeetCode] 374. Guess Number Higher or Lower 猜数字大小

    We are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You have to gues ...

  8. 使用IDEA+vue.js+easyUI的demo

    最近,随便写了几个开发的小例子,自己总结下,留个纪念. 例子1:使用EasyUI做了一个简单界面,服务器和客户端在一起. @Controller @RequestMapping("/demo ...

  9. Django 数据库同步命令

    版本1.8.2 检查数据库配置是否有错 Python manage.py validate/check 创建对应书看的映射语句 Python manage.py makemigrations 同步或者 ...

  10. presto整合hive

    Presto安装   前提条件: hadoop安装好了(并启动了) + hive安装好了        文档网址:http://prestodb.jd.com/docs/current/install ...