一、创建视图的语法形式

CREATE VIEW view_name

  AS 查询语句 ;

使用视图

SELECT * FROM view_name ;

二、创建各种视图

1.封装实现查询常量语句的视图,即所谓的常量视图

CREATE VIEW view_test1

  AS SELECT 3.1415926;

2.封装使用聚合函数(SUN,MIN,MAX,COUNT等)查询语句的视图

CREATE VIEW  view_test2

  AS SELECT COUNT(name) FROM t_student;

3.封装了实现排序功能(ORDER BY)查询语句的视图

CREATE VIEW view_test3

  AS SELECT name from t_student ORDER BY id DESC;

4.封装了实现表内连接查询语句的视图

CREATE VIEW view_test4

  AS SELECT s.name

    FROM t_student AS s,t_group AS g

      WHERE s.group_id=g.id AND g.id=2;

5.封装了实现表外连接(LEFT JOIN,RIGHT JOIN)查询语句的视图

CREATE VIEW view_test5

  AS SELECT s.name

    FROM t_student AS s LEFT JOIN t_group AS g ON s.group_id=g.id

      WHERE g.id=2;

6.封装了实现子查询相关查询语句的视图

CREATE VIEW view_test6

  AS SELECT s.name

    FROM t_student AS s

      WHERE s.gruop_id IN(SELECT id FROM t_group);

7.封装了实现记录联合(UNION,UNION ALL)查询语句的视图

CREATE VIEW view_test7

  AS SELECT id,name FROM t_student

  UNION ALL

  SELECT id,name FROM t_group;

三、查看视图

1.SHOW TABLES;

即能查看表名还会查看视图

2.SHOW TABLE STATUS ;

查看表和视图的详细信息

SHOW TABLE STATUS

  FROM view LIKE "view _selectproduct" \G

查看view数据库中的view _selectproduct视图

SHOW CREATE VIEW view_name;

查看视图的定义信息

3.DESCRIBE|DESC view_name;

查看视图设计信息

4.通过系统表查看视图信息

USE information_schema;

SELECT * FROM views WHERE table_name='view_selectproduct' \G

四、删除视图

DROP VIEW view_name1,view_name2;

可以一次删除1个或多个视图

五、修改视图

1.先删除视图,再重新创建视图

2.CREATE OR REPLACE VIEW _name

  AS 查询语句;

.ALTER VIEW view_name

  AS 查询语句;

六、利用视图操作基本表

对视图数据进行添加、删除、更改等操作直接影响基本表;

视图来自多个基本表时,不允许添加和删除数据。

view_product是查询所有字段的视图

1.添加数据操作

INSERT INTO view_product VALUES(11,'pear4',12.3);

2.删除数据操作

DELETE FROM view_product WHERE name=‘apple’;

3.更新数据操作

UPDATE view_product set price=3.5 WHERE name='pear';

mysql视图的操作的更多相关文章

  1. mysql之对视图的操作

    1. 为什么要使用视图? 为了提高复杂SQL语句的复用性和表操作的安全性,MySQL数据库管理系统提供了视图特性.所谓视图,本质上是一种虚拟表,在物理上是不存在的,其内容与真实的表相似,包含一系列带有 ...

  2. MySQL视图简介与操作

    1.准备工作 在MySQL数据库中创建两张表balance(余额表)和customer(客户表)并插入数据. create table customer( id int(10) primary key ...

  3. Mysql之视图的操作

    视图的操作: 1.视图的创建: create view view_name as 查询语句; 2.视图的查看: show tables;// 显示所有的表和视图 show create view vi ...

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

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

  5. Mysql视图的作用及其性能分析

    定义:视图是从一个或几个基本表导出的表,它与基本表不同,是一个虚表. 作用: 1.简化操作,不用进行多表查询. 2.当不同种类的用用户共享同一个数据库时,非常灵活,(用户以不同的 方式看待同一数据. ...

  6. MYSQL视图的学习笔记

    MYSQL视图的学习笔记,学至Tarena金牌讲师,金色晨曦科技公司技术总监沙利穆 课程笔记的综合. 视图及图形化工具   1.       视图的定义 视图就是从一个或多个表中,导出来的表,是一个虚 ...

  7. mysql视图学习总结

    转自http://www.cnblogs.com/wangtao_20/archive/2011/02/24/1964276.html 一.使用视图的理由是什么? 1.安全性.一般是这样做的:创建一个 ...

  8. 6 MySQL视图

    目录: 1. 视图概述 1.1 为什么引入视图 1.2 什么是视图 1.3 视图的好处 1.4 视图的分类 2. 视图的建立和删除 3. 实验 1. 视图概述 1.1 为什么引入视图[1] 问题:假如 ...

  9. 深入解析MySQL视图view

    阅读目录---深入解析MySQL视图view 创建视图 查看视图 视图的更改 create or replace view alter DML drop 使用with check option约束 嵌 ...

随机推荐

  1. Spring AOP 学习(五)

    1. 使用动态代理实现AOP package com.atguigu.spring.aop; import java.lang.reflect.InvocationHandler; import ja ...

  2. 【Codeforces 600C】Make Palindrome

    [链接] 我是链接,点我呀:) [题意] 题意 [题解] 计算出来每个字母出现的次数. 把字典序大的奇数出现次数的字母换成字典序小的奇数出现次数的字母贪心即可. 注意只有一个字母的情况 然后贪心地把字 ...

  3. HDU 4598 Difference

    Difference Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total ...

  4. 常州模拟赛d7t2 数组

    题目背景 HJZ 有很多玩具.他最喜欢玩的玩具是一个可以变化的数组. 题目描述 HJZ 的数组初始时有 n 个元素.他可以把一个位置上的数加上或减去一个固定的 数 x. 一天 LJZ 和 HZY 来 ...

  5. Java AOP 获取HttpSevletRequest、HttpSevletResponse、HttpSession对象

    ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) ((ServletRequestAttributes) ...

  6. 模拟赛 Problem 3 经营与开发(exploit.cpp/c/pas)

    Problem 3 经营与开发(exploit.cpp/c/pas) [题目描述] 4X概念体系,是指在PC战略游戏中一种相当普及和成熟的系统概念,得名自4个同样以“EX”为开头的英语单词. eXpl ...

  7. Java中基于HTTP协议网络编程

    java中为我们的网络支持提供了java.net包,能够使我们以编程的方式来訪问Web服务功能,这篇博客,就跟大家分享一下.Java中的网络编程的知识.主要是学习下该java.net包下的API. U ...

  8. 生成sde

    /// <summary> ///获取保存的SDE文件 /// </summary> /// <param name="sdePath">< ...

  9. Python3基础(八) 模块

    在程序中定义函数可以实现代码重用.但当你的代码逐渐变得庞大时,你可能想要把它分割成几个文件,以便能够更简单地维护.同时,你希望在一个文件中写的代码能够被其他文件所重用,这时我们应该使用模块(modul ...

  10. [LeetCode][Java] N-Queens II

    题目: Follow up for N-Queens problem. Now, instead outputting board configurations, return the total n ...