SQL高级-VIEW(视图)

什么是视图

视图是一张虚拟表,它是基于SQL语句的结果集的可视化表

创建视图

语法

CREATE VIEW 视图名
AS SELECT 列名
WHERE 条件;

代码示例

CREATE VIEW v_stu AS SELECT s_name FROM students;

查看视图

查看所有的表时视图也在其中
代码示例

SHOW TABLES;

查询视图

语法

SELECT * FROM 视图名;

和查询表时是一样的
代码示例

SELECT * FROM v_stu;

注意: 视图总是显示最近的数据。每当用户查询视图时,数据库引擎通过使用 SQL 语句来重建数据

更新视图

语法

UPDATE 视图名 SET 列名=新值 WHERE 条件;

将名字为“张三”的改名为“张三三”
代码示例

UPDATE v_stu SET s_name='张三三' WHERE s_name='张三';

有下列内容之一,视图不能做修改

  • select语句中包含distinct
  • select语句中包含group by子句
  • select语句中包含order by子句
  • where子句中包含相关子查询
  • from子句中包含多个表
  • 如果视图中有计算列,则不能更新
  • 如果基表中有某个具有非空约束的列未出现在视图定义中,则不能做insert操作

删除视图

语法

UPDATE 视图名 SET 列名=新值 WHERE 条件;

代码示例

DROP VIEW v_stu;

视图的作用

  • 视图隐藏了底层的表结构,简化了数据访问操作,客户端不再需要知道底层表的结构及其之间的关系
  • 提高了安全性能,可以针对不同的用户,设定不同的视图,使用户只能看到视图所显示的数据

猜你喜欢

转载自blog.csdn.net/weixin_44604586/article/details/107644615