精华内容
下载资源
问答
  • 2020-08-19 23:02:53

    一.什么是视图

    • 视图是存储在数据库中的查询的sql 语句
      本质是查询语句的结果,存入一个临时空间
    • 是一个虚拟表,其内容由查询定义
      视图在数据库中没有原本的物理存储,只是相当于临时表
    • 是一个虚拟表,其内容由查询定义
      视图在数据库中没有原本的物理存储,只是相当于临时表
    • 简单化,数据所见即所得
      安全性,用户只能查询或修改他们所能见到得到的数据
      逻辑独立性,可以屏蔽真实表结构变化带来的影响
    • 简单化,数据所见即所得
      安全性,用户只能查询或修改他们所能见到得到的数据
      逻辑独立性,可以屏蔽真实表结构变化带来的影响
      视图的缺点:

    二.视图的组作用

    • 作用1:提高重用性
      需要频繁查询的复杂语句,使用视图可以相当于将语句存为临时表,调用时,只需要从视图的位置查询即可
    • 作用2:对外接口稳定
      当数据库底层表发生改变时,原本的表可能不存在,使用视图则不存在此问题
    • 作用3:提高安全性
      只开放特定字段给外部接口

    三.视图的定义与使用

    • 定义的语法结构
      完整版:{ CREATE|REPLACE } [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
      VIEW 视图名 [{属性列名}] AS SELECT_STATEMENT(查询语句)
      [WITH [CASCADED | LOCAL |] CHECK OPTION]
      精简版:CREATE VIEW 视图名 AS 查询语句;
    • 查看命令
      SELECT * FROM 视图名;
    • 查看所有视图信息
      select * from information_schema.views\G
    更多相关内容
  • MySQL 5.0 之后的版本添加了对视图的支持。 认识视图 视图是一个虚拟表,其内容由查询定义。同真实表一样,视图包含一系列带有名称的列和行数据,但视图并不是数据库真实存储的数据表。 视图是从一个、多个表或者...
  • MySQL中,视图可能是我们最常用的数据库对象之一了。那么你知道视图和表的区别吗?你知道创建及使用视图要注意哪些点吗?可能很多人对视图只是一知半解,想详细了解视图的同学看过来哟,本篇文章会详细介绍视图的...
  • MySQL视图

    2020-12-14 13:35:05
    MySQL视图创建视图查看视图使用视图作用修改视图删除视图视图内数据操作1.新增数据2.删除数据3.更新数据 视图:view,是一种有结构(有行有列)但是没结果(结构中不真实存放数据)的虚拟表. 创建视图 Create view 视图...
  • 本文实例讲述了mysql视图之创建可更新视图的方法。分享给大家供大家参考,具体如下: 我们知道,在mysql中,视图不仅是可查询的,而且是可更新的。这意味着我们可以使用insert或update语句通过可更新视图插入或更新...
  • 视图 视图是一个虚拟表(非真实存在),其本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用名称即可获取结果集,并可以将其当作表来使用。 创建视图 创建一个名称为v1的视图,其功能就是查询...
  • 主要介绍了Django框架使用mysql视图操作,结合实例形式分析了mysql视图的创建、查看以及Django框架使用mysql视图相关操作技巧,需要的朋友可以参考下
  • MySQL如何创建视图

    2021-01-19 21:47:29
    可以使用 CREATE VIEW 语句来创建视图。 语法格式如下: CREATE VIEW <视图名> AS <SELECT语句> 语法说明如下。 <视图名>:指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。 ...
  • 本文实例讲述了mysql视图之创建视图(CREATE VIEW)和使用限制。分享给大家供大家参考,具体如下: mysql5.x 版本之后支持数据库视图,在mysql中,视图的几乎特征符合SQL:2003标准。 mysql以两种方式处理对视图的...
  • Mysql中的视图是什么?有什么作用

    千次阅读 2020-03-31 23:21:36
    Mysql中的视图,其实是一个虚拟表,使用时动态检索查询数据,如何理解这个概念呢?我们先建立基础表,语句如下: DROP TABLE IF EXISTS `user_info`; CREATE TABLE `user_info` ( `id` int(20) NOT NULL AUTO_...

    Mysql中的视图,其实是一个虚拟表,使用时动态检索查询数据,如何理解这个概念呢?我们先建立基础表,语句如下:

    DROP TABLE IF EXISTS `user_info`;
    CREATE TABLE `user_info` (
      `id` int(20) NOT NULL AUTO_INCREMENT,
      `arts_name` varchar(20) DEFAULT NULL,
      `user_name` varchar(20) DEFAULT NULL,
      `user_pwd` varchar(20) DEFAULT NULL,
      `rank_id` int(11) DEFAULT NULL,
      PRIMARY KEY (`id`),
      KEY `FK1gy0qoa8oxhd6lv5j41ubn0if` (`rank_id`),
      CONSTRAINT `FK1gy0qoa8oxhd6lv5j41ubn0if` FOREIGN KEY (`rank_id`) REFERENCES `user_rank` (`rank_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8;
    
    -- ----------------------------
    -- Records of user_info
    -- ----------------------------
    INSERT INTO `user_info` VALUES ('1', '扫地僧', 'admin', '000000', '6');
    INSERT INTO `user_info` VALUES ('2', '降龙十八掌', '萧峰', '111111', '5');
    INSERT INTO `user_info` VALUES ('3', '六脉神剑', '段誉', '111111', '5');
    INSERT INTO `user_info` VALUES ('4', '小无相功', '虚竹', '222222', '5');
    INSERT INTO `user_info` VALUES ('5', '易筋经', '游坦之', '222222', '3');
    INSERT INTO `user_info` VALUES ('6', '斗转星移', '慕容复', '1111', '3');
    INSERT INTO `user_info` VALUES ('7', '化功大法', '丁春秋', '11111', '3');
    INSERT INTO `user_info` VALUES ('8', '天长地久不老长春功', '天山童姥', '222', '4');
    INSERT INTO `user_info` VALUES ('9', '天山六阳掌', '无崖子', '333', '4');
    INSERT INTO `user_info` VALUES ('11', '小无相功', '李秋水', '555', '3');
    INSERT INTO `user_info` VALUES ('12', '颜值', '王语嫣', '2222222', '1');
    INSERT INTO `user_info` VALUES ('13', '毒', '阿紫', '111111', '1');
    INSERT INTO `user_info` VALUES ('14', '易容术', '阿朱', '111111', '2');
    INSERT INTO `user_info` VALUES ('15', '一阳指', '段正淳', '111111', '2');
    INSERT INTO `user_info` VALUES ('16', '鳄嘴剪', '南海鳄神', '111111', '2');
    INSERT INTO `user_info` VALUES ('17', '轻功', '云中鹤', '111111', '1');
    INSERT INTO `user_info` VALUES ('20', '嘴炮', '钟万仇', '666666', '1');
    DROP TABLE IF EXISTS `user_rank`;
    CREATE TABLE `user_rank` (
      `rank_id` int(11) NOT NULL AUTO_INCREMENT,
      `user_rank_name` varchar(20) DEFAULT NULL,
      PRIMARY KEY (`rank_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
    
    -- ----------------------------
    -- Records of user_rank
    -- ----------------------------
    INSERT INTO `user_rank` VALUES ('1', '青铜');
    INSERT INTO `user_rank` VALUES ('2', '白银');
    INSERT INTO `user_rank` VALUES ('3', '黄金');
    INSERT INTO `user_rank` VALUES ('4', '铂金');
    INSERT INTO `user_rank` VALUES ('5', '钻石');
    INSERT INTO `user_rank` VALUES ('6', '王者');

    建表完毕,我们就可以建个视图,Mysql中建立视图语句如下(select语句前加create view 视图名 as)即可:

    CREATE VIEW view_name
    AS
    SELECT * FROM table_name ;
    
    >>>>>示例<<<<<
    CREATE VIEW userView
    AS
    SELECT * FROM user_info ; //创建视图
    
    SELECT * FROM userView; //查询视图
    
    UPDATE userView SET user_pwd='admin' WHERE user_name='admin'; //使用视图更新底层数据

    如果只看如上视图,似乎会觉得视图没什么用,那么,我们看这样一个列子:

    CREATE VIEW userView2
    AS
    SELECT * FROM user_info WHERE id<10
    
    SELECT * FROM userView2;
    
    INSERT INTO `user_info` VALUES ('22', '梅剑', '333', 'new', '1');

    创建了一个只展示1-10的视图数据,向底层user_info表插入一条数据,在该userView2中是看不到的,所以实际应用中可以在创建或修改视图时使用WITH CHECK OPTION(确保视图的一致性),使用了WITH CHECK OPTION,用户只能显示或更新通过视图可见的数据,比如:

    通过视图更新id为11的密码为888,但是实际上更新是不成功的,因为userView3限制id<10。所以,视图有什么用呢?

    1)简单化,数据所见即所得(比如5张表关联,但是查询只需要每一张表中的1-2个字段,建立视图最合适)

    2)实现访问性控制,更加安全(用户只能查询或修改Where限制的数据,所以可以隐蔽真实表中的数据结构)

    说到优点,自然也免不了缺点,视图的缺点如下:

    1)性能相对较差(如果视图是基于其他视图创建,查询会相当慢)

    2)修改不便

    要创建可更新视图,定义视图的SELECT语句不能包含以下任何元素:
    ➢聚合函数;
    ➢distinct 子句;
    ➢group by 子句;
    ➢having 子句;
    ➢union 和 union all 子句;
    ➢外连接
    注意:不建议使用基于多表创建的视图进行更新操作。

    >>>>>查看视图<<<<<
    SHOW TABLE STATUS [LIKE 'view_name%'] ; (查看基本信息)
    
    DESC view_name ; 或者 DESCRIBE view_name; (查看基本信息)
    
    SHOW CREATE VIEW view_name ; (查看详细信息)
    
    SELECT * FROM information_schema.views; (查看数据库中所有视图详细信息)
    
    >>>>>删除视图<<<<<
    DROP VIEW IF EXISTS view_name ;

     

    展开全文
  • 本文实例讲述了mysql视图之确保视图的一致性(with check option)操作。分享给大家供大家参考,具体如下: 我们有的时候,会创建一个视图来显示表的部分数据。我们知道,简单视图是的,因此可以更新通过视图不可见...
  • 把下面SQL里的SELECT单独执行,没有问题,但是用来CREATE VIEW 就报错了.
  • MySql视图顺序整理工具,只要把Navicat 中的视图sql 单独保存用这个程序就自动整理好!!快速安装部署。
  • 什么视图视图就是一个存在于数据库中的虚拟表。视图本身没有数据,只是通过执行相应的select语句完成获得相应的数据。我们在怎样的场景使用它?为什么使用视图?如果某个查询结果出现的非常频繁,也就是,要经常...
  • MySQL中,在两个或者以上的基本表上创建视图 在student表和stu_info表上,创建stu_class视图,查询出s_id号、姓名和班级 首先,创建stu_info表,并向表中插入数据 查看表中的数据 创建stu_class视图 查看视图 ...
  • 本文实例讲述了mysql视图原理与用法。分享给大家供大家参考,具体如下: 本文内容: 什么是视图 创建视图 查看视图 视图的修改 视图的删除 视图的数据操作 首发日期:2018-04-13 什么是视图: 视图是一种...
  • MySQL视图

    2020-12-14 14:40:37
    MySQL视图什么是视图创建视图修改视图删除视图查看视图视图的使用视图和表的对比 什么是视图 视图:MySQL从5.0.1版本开始提供视图功能。一种虚拟存在的表,行和列的数据来自定义视图的查询中使用的表,并且是在...
  • 本文实例讲述了mysql视图之管理视图操作。分享给大家供大家参考,具体如下: mysql提供了用于显示视图定义的SHOW CREATE VIEW语句,我们来看下语法结构: SHOW CREATE VIEW [database_name].[view_ name]; 要显示...
  • 主要介绍了MySql视图触发器存储过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 目录视图1、视图定义1、为什么需要视图3、视图作用优点作用:优点:4、创建视图5、视图使用规则1)视图的嵌套:2)视图排序的覆盖6、修改视图多表连接视图:复杂视图7、 删除视图8:MySQL数据库中的视图保存: ...

    MySQL数据库之视图

    视图

    1、视图定义

    视图通过以定制的方式显示来自一个或多个表的数据
    视图是一种数据库对象,用户可以像查询普通表一样查询视图
    视图内其实没有存储任何数据,它只是对表的一个查询
    视图的定义保存在数据字典内,创建视图所基于对表称为“基表”

    1、为什么需要视图

    例如经常要对emp和dept表进行连接查询,每次都要做表的连接,写同样的一串语句,同时由于工资列队数据比较敏感,对外要求不可见;使用子查询,每次做表的连接写的语句过长,把查询语句做成视图,下次查询视图就好了;
    对这样的问题就可以通过视图来解决。

    3、视图的作用优点

    作用:

    控制安全
    保存查询数据
    

    优点:

    提供了灵活一致级别安全性。
    隐藏了数据的复杂性
    简化了用户的SQL指令
    通过重命名列,从另一个角度提供数据
    

    4、创建视图

    CREATE [OR REPLACE] VIEW 视图名
    	[(alias[, alias]...)]--为视图字段指定别名
    	AS subquery
    	[WITH READ ONLY];
    

    举例说明:创建视图, emp_V1, 包括10号部门的所有雇员信息.

    mysql> create view emp_v1 as	//创建视图emp_v1
        -> select * from emp
        -> where deptno=10;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> select * from emp_v1;
    +-------+-----------+-----------+------+------------+-------+------+--------+
    | empno | ename     | job       | mgr  | hiredate   | sai   | comm | deptno |
    +-------+-----------+-----------+------+------------+-------+------+--------+
    |  1007 | 张飞      | 经理      | 1009 | 2001-09-01 | 24500 | NULL |     10 |
    |  1009 | 曾阿牛    | 董事长    | NULL | 2001-11-17 | 50000 | NULL |     10 |
    |  1014 | 黄盖      | 文员      | 1007 | 2002-01-23 | 13000 | NULL |     10 |
    +-------+-----------+-----------+------+------------+-------+------+--------+
    3 rows in set (0.00 sec)
    
    

    5、视图使用规则

    1. 视图必须有唯一命名
    2. 在mysql中视图的数量没有限制
    3. 创建视图必须从管理员那里获得必要的权限
    4. 视图支持嵌套,也就是说可以利用其他视图检索出来的数据创建新的视图
    5. 在视图中可以使用OREDR BY,但是如果视图内已经使用该排序子句,则视图的ORDER BY将覆盖前面的 ORDER BY。
    6. 视图不能索引,也不能关联触发器或默认值。
    7. 视图可以和表同时使用

    1)视图的嵌套:

    4 . 视图支持嵌套,也就是说可以利用其他视图检索出来的数据创建新的视图
    可以在创建视图emp_v2中进行嵌套emp_v1;

    mysql> create view emp_v1 as
        -> select * from emp
        -> where deptno=10;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> select * from emp_v1;
    +-------+-----------+-----------+------+------------+-------+------+--------+
    | empno | ename     | job       | mgr  | hiredate   | sai   | comm | deptno |
    +-------+-----------+-----------+------+------------+-------+------+--------+
    |  1007 | 张飞      | 经理      | 1009 | 2001-09-01 | 24500 | NULL |     10 |
    |  1009 | 曾阿牛    | 董事长    | NULL | 2001-11-17 | 50000 | NULL |     10 |
    |  1014 | 黄盖      | 文员      | 1007 | 2002-01-23 | 13000 | NULL |     10 |
    +-------+-----------+-----------+------+------------+-------+------+--------+
    3 rows in set (0.00 sec)
    
    mysql> create view emp_v2 as	//创建视图emp_v2嵌套emp_v1
        -> select * from emp_v1
        -> where job='文员';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> select * from emp_v2
        -> ;
    +-------+--------+--------+------+------------+-------+------+--------+
    | empno | ename  | job    | mgr  | hiredate   | sai   | comm | deptno |
    +-------+--------+--------+------+------------+-------+------+--------+
    |  1014 | 黄盖   | 文员   | 1007 | 2002-01-23 | 13000 | NULL |     10 |
    +-------+--------+--------+------+------------+-------+------+--------+
    1 row in set (0.00 sec)
    
    

    2)视图排序的覆盖

    5 . 在视图中可以使用OREDR BY,但是如果视图内已经使用该排序子句,则视图的ORDER BY将覆盖前面的 ORDER BY。
    下面举例说明,新的视图排序会覆盖原来的视图排序

    mysql> create view emp_v3 as
        -> select * from emp_v1
        -> order by sai desc;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> select * from emp_v3;	//此处是降序的排序
    +-------+-----------+-----------+------+------------+-------+------+--------+
    | empno | ename     | job       | mgr  | hiredate   | sai   | comm | deptno |
    +-------+-----------+-----------+------+------------+-------+------+--------+
    |  1009 | 曾阿牛    | 董事长    | NULL | 2001-11-17 | 50000 | NULL |     10 |
    |  1007 | 张飞      | 经理      | 1009 | 2001-09-01 | 24500 | NULL |     10 |
    |  1014 | 黄盖      | 文员      | 1007 | 2002-01-23 | 13000 | NULL |     10 |
    +-------+-----------+-----------+------+------------+-------+------+--------+
    3 rows in set (0.00 sec)
    
    mysql> select * from emp_v3
        -> order by sai;			//这里覆盖之前升序排序
    +-------+-----------+-----------+------+------------+-------+------+--------+
    | empno | ename     | job       | mgr  | hiredate   | sai   | comm | deptno |
    +-------+-----------+-----------+------+------------+-------+------+--------+
    |  1014 | 黄盖      | 文员      | 1007 | 2002-01-23 | 13000 | NULL |     10 |
    |  1007 | 张飞      | 经理      | 1009 | 2001-09-01 | 24500 | NULL |     10 |
    |  1009 | 曾阿牛    | 董事长    | NULL | 2001-11-17 | 50000 | NULL |     10 |
    +-------+-----------+-----------+------+------------+-------+------+--------+
    3 rows in set (0.00 sec)
    
    

    6、修改视图

    修改视图可以有两种方法进行修改

    使用CREATE OR REPLACE VIEW 语句修改EMP_V_10 视图. 为每个列指定列名.
    
    –CREATE OR REPLACE VIEW emp_v_10
    	–(id, name, sal, dept_id)
    	–AS SELECT id,name, 
    	–salary, dept_id
    	–FROM employees
    	–WHERE dept_id = 10;
    
    在CREATE VIEW 语句中字段与子查询中的字段必须一一对应,否则就别指定别名,或在子查询中指定别名
    
    使用ALTER VIEW 语句修改EMP_V_10 视图. 为每个列指定列名.
    
    –ALTER VIEW emp_v_10
    	–(id, name, sal, dept_id)
    	–AS SELECT id,name, 
    	–salary, dept_id
    	–FROM employees
    	–WHERE dept_id = 10;
    
    在CREATE VIEW 语句中字段与子查询中的字段必须一一对应,否则就别指定别名,或在子查询中指定别名
    
    

    2)创建复杂视图
    创建一个从两个表中查询数据,并进行分组计算的复杂视图.
    在数据库中插入另一个表

    mysql> select * from dept;
    +--------+-----------+--------+
    | deptno | dname     | lo     |
    +--------+-----------+--------+
    |     10 | 教研部    | 北京   |
    |     20 | 学工部    | 上海   |
    |     30 | 销售部    | 广州   |
    |     40 | 财务部    | 武汉   |
    +--------+-----------+--------+
    4 rows in set (0.00 sec)
    

    多表连接视图:复杂视图

    多个表更体现出视图的优势
    创建复杂视图将两个表连接起来

    mysql> create view emp_v4 as
        -> select e.*,d.dname
        -> from dept d,
        -> (select deptno,count(1) from emp
        -> group by deptno
        -> having count(1)>=1) e
        -> where d.deptno=e.deptno;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> select * from emp_v4;
    +--------+----------+-----------+
    | deptno | count(1) | dname     |
    +--------+----------+-----------+
    |     10 |        3 | 教研部    |
    |     20 |        4 | 学工部    |
    |     30 |        6 | 销售部    |
    +--------+----------+-----------+
    3 rows in set (0.00 sec)
    
    

    7、 删除视图

       删掉视图不会导致数据的丢失,因为视图是基于数据库的表之上的一个查询定义.  
       DROP VIEW view_name;
    
    mysql> drop view emp_v1;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> drop view emp_v2;
    Query OK, 0 rows affected (0.00 sec)
    

    8:MySQL数据库中的视图保存:

    MySQL视图保存在information_schema表里面

    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | db                 |
    | db1                |
    | gtid               |
    | it                 |
    | mysql              |
    | performance_schema |
    | sys                |
    | test               |
    | test2              |
    +--------------------+
    10 rows in set (0.00 sec)
    
    mysql> use information_schema 
    

    需要进入information_schema数据库进行查看视图

    mysql> select * from VIEWS 
    	->	where TABLE_NAME='emp_v1'\G;
    *************************** 1. row ***************************
           TABLE_CATALOG: def
            TABLE_SCHEMA: db1
              TABLE_NAME: emp_v1
         VIEW_DEFINITION: select `db1`.`emp`.`empno` AS `empno`,`db1`.`emp`.`ename` AS `ename`,`db1`.`emp`.`job` AS `job`,`db1`.`emp`.`mgr` AS `mgr`,`db1`.`emp`.`hiredate` AS `hiredate`,`db1`.`emp`.`sai` AS `sai`,`db1`.`emp`.`comm` AS `comm`,`db1`.`emp`.`deptno` AS `deptno` from `db1`.`emp` where (`db1`.`emp`.`deptno` = 10)
            CHECK_OPTION: NONE
            IS_UPDATABLE: YES
                 DEFINER: root@localhost
           SECURITY_TYPE: DEFINER
    CHARACTER_SET_CLIENT: utf8
    COLLATION_CONNECTION: utf8_general_ci
    1 row in set (0.00 sec)
    
    ERROR: 
    No query specified
    
    mysql> 
    
    展开全文
  • 详细讲解MYSQL视图作用及优缺点

    千次阅读 2021-04-25 00:25:35
    视图MySQL在5.0.1版本中加入的功能。它可以理解为一个虚表。2.之所以被称为虚表,是因为它只是存储了一个结构,并不存储真实的数据。行和列的数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的,只...

    一、概念

    1.视图是MySQL在5.0.1版本中加入的功能。它可以理解为一个虚表。

    2.之所以被称为虚表,是因为它只是存储了一个结构,并不存储真实的数据。行和列的数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的,只保存了sql逻辑,不保存查询结果。

    3.视图并不是真的优化

    二、创建一个视图

    --创建视图的语法:create view 视图名称 as select语句;

    --创建一个视图:create view user_view as select id,name,age,sex from user;

    三、查看视图

    查看视图的方式和表一样可以通过select来查看,desc查看视图结构

    --查看视图结构:desc user_view; show create view user_view;

    --查看视图内容:select * from user_view;

    四、视图的优点

    1.第一个显著优点就是它简化了操作。此时我们完全不用关心视图是怎么处理数据的,我们只需要知道如何使用这个结果集即可,视图相当于一个中间层。

    2.第二个显著优点就是它更加安全。比如我们可以让用户有权去访问某个视图,但是不能访问原表,这样就可以起到保护原表中某些数据的作用。

    3.我们之后会接触到管理权限,权限是无法细致到某一个列的,通过视图,则很容易实现。

    4.第三个显著优点就是降低耦合。假如我们以后要修改原表的结构,那么我们可以通过修改视图的定义即可,而不用修改应用程序,对访问者是不会造成影响的,一般来说,这样代价会更小。

    五、视图的缺点

    1.性能:从数据库视图查询数据可能会很慢,特别是如果视图是基于其他视图创建的。

    2.表依赖关系:将根据数据库的基础表创建一个视图。每当更改与其相关联的表的结构时,都必须更改视图。

    六、视图的UID

    表的数据是可以修改与更新的,但是在视图就不一定了。

    --修改视图字段的值会直接修改到源数据表:update `user_view` set name='小哈' where id=1; select * from `user`;

    --删除视图:drop view user_view;

    以下是视图不可更新的情况:

    1.包含聚合函数、distinct、groupby、having、union、unionall。

    2.常量视图。

    3.select包含子查询。

    4.包含连接操作。

    5.from一个不能更新的视图。

    6.where子句的子查询引用了from子句中的表。

    展开全文
  • 后台 — mysql视图

    2020-12-14 13:33:13
    了解什么视图: 操作开始:(cmd命令操作)   用navicat.exe创建视图 php脚本查询视图数据; 删除视图表;cmd命令删除   利用工具删除视图表;   更改数据 php脚本更改信息原始表 工具进行更改 了解什么视图...
  • 主要介绍了mysql视图原理与用法,结合实例形式分析了mysql视图的概念、原理、创建、使用方法及相关注意事项,需要的朋友可以参考下
  • MySQL视图详解

    千次阅读 2021-12-19 09:09:44
    今天继续给大家介绍MySQL相关知识,本文主要内容是MySQL视图。 一、MySQL视图详解 MySQL引入了视图的概念,所谓视图,其实就是一张虚拟的数据表,该数据表与其他普通数据表一样,有列和属性。视图和普通的数据表唯一...
  • 创建视图   Sql代码  CREATE VIEW view_name AS SELECT t1.xxx, t2.xxx, t3.xxx FROM (table1 t1 INNER JOIN table2 t2 ON t1.fid = t2.fid) INNER JOIN table3 t3 ON t1.mid = t3.mid; 这里使用了3表关联,对于...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 184,480
精华内容 73,792
关键字:

mysql视图的作用是什么

mysql 订阅