一、创建视图的语法形式

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. Reading Lists

    * Non-academic 1. Slowing Down to the Speed of Life, by Richard Carlson and Joseph Bailey.2. Your Mo ...

  2. [bzoj1004][HNOI2008][Cards] (置换群+Burnside引理+动态规划)

    Description 小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目前小春只有3种颜色:红色,蓝色,绿色.他询问Sun有多少种染色方案,Sun很快就给出了答案.进一步,小春要求染出Sr张红 ...

  3. 解决maven无法加载本地lib/下的jar包问题(程序包XXX不存在)

    这次一个项目用到maven编译,我在本地开发的时候jar包都是放在WEB-INF/lib目录下,通过 BuildPath将jar包导入,然后用MyEclipse中的:maven package命令打成 ...

  4. hdu 1867 kmp匹配

    #include<stdio.h> #include<string.h> #define N 100100 void getnext(int next[],char s[]) ...

  5. 洛谷—— P1825 [USACO11OPEN]玉米田迷宫Corn Maze

    https://www.luogu.org/problem/show?pid=1825 题目描述 This past fall, Farmer John took the cows to visit ...

  6. [BZOJ1045][HAOI2008]糖果传递(数学分析)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1045 分析:均分纸牌的环状版本. 先看线性的版本: 设f[i]表示第I位从第i+1位得 ...

  7. MYSQL中的主要查询方法

    #简单查询 #查询表中的所有数据SELECT * FROM test; #查询表中的指定列的数据SELECT cid,cname FROM test; #过滤重复的数据SELECT DISTINCT ...

  8. 一篮子苹果,每天吃一半多一个吃,第十天吃一半多一个后就剩余一个,求一共多少个苹果,JAVA版

    /** * @author xuzhu **/public class TestApple { public static void main(String[] args) { int days = ...

  9. Animations动画和Keyframes关键帧

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. Android之设置拖拽监听

    以EditText为例: username.setOnDragListener(new OnDragListener() { @Overridepublic boolean onDrag(View v ...