23 SQL语言——视图 VIEW

理解视图

对于一个重要的表,比如支付宝的用户表,它包含了账户余额,但是我并不希望下级开发人员能看到这个用户的余数字段,怎么办呢?

我就做了一个另一个表,只给出指定的几个字段,下级开发人员对这个表的增删改依然能作用到我原有的表上。

完美!

我做的这另一个表,就叫视图。

视图特点

  1. 保护真实表,隐藏重要字段的数据,保护数据
  2. 在视图中的操作会映射到真实表中
  3. 可以手动开启只读模式

注意:视图的创建需要dba权限。也就是说,只有管理员才能创建视图。

视图的创建和删除

注意:有dba权限的用户才能创建视图

创建

--创建一个表tb
create table tb(
c1 varchar(100),
c2 varchar(100),
c3 varchar(100),
c4 varchar(100)
)
select * from tb

insert into tb values(‘值1‘,‘值2‘,‘值3‘,‘值4‘)
--创建一个给定字段的视图tb_v1

create view tb_v1 as select c1,c2,c4 from tb;

select * from tb_v1
       --可对给定字段正常增删改查

insert into tb_v1 values(‘值1‘,‘值2‘,‘值4‘)

select * from tb_v1;

select * from tb
        --但不能对视图没有的字段(原表中有单没给视图的字段)进行操作

update tb_v1 set c3 = ‘新值3‘ --报错

--创建一个只读视图tb_v2

create view tb_v2 as select c1,c2,c3 from tb with read only;
       --可查

select * from tb_v2
       --不可增删改
insert into tb_v2 values(‘值1‘,‘值2‘,‘值3‘)
delete from tb_v2

update tb_v2 set c1 = ‘新值1‘

  

删除

drop view 视图名

原文地址:https://www.cnblogs.com/Scorpicat/p/12307619.html

时间: 2024-08-28 16:26:50

23 SQL语言——视图 VIEW的相关文章

第7讲-SQL语言复杂查询之视图

三级模式两层映像:对应概念模式的数据在SQL中被称为基本表,而对应外模式的数据称为视图.视图不仅包含外模式,而且包含E-C映像. SQL数据库结构: 1)基本表是实际存储文件的表,基本表中的数据时需要存储的. 2)视图在SQL中只存储其由基本表导出视图的所有公式,即由基本表产生视图的映像信息.视图并不存储数据. 3)对视图数据的更改最终要反映在对基本表的更改上. 1.定义视图 Create View view_name 列名1[...] as (子查询[with check option]);

SQL Server 索引(index) 和 视图(view) 的简单介绍和操作

--索引(index)和视图(view)-- --索引(index)----概述: 数据库中的索引类似于书籍的目录,他以指针形式包含了表中一列或几列组合的新顺序,实现表中数据库的逻辑排序.索引创建在数据表或者视图的字段上,生成索引页,存放于数据库中.--分类:在SQL Server中,根据索引的作用和存储方式的不同,将索引分为聚集索引和非聚集索引两类. 1)聚集索引 :指数据库的物理顺序与被创建索引的字段顺序完全相同.同一个数据表最多只能创建一个聚集索引.默认情况下主键自动被创建为聚集索引.聚集

第二天,导出文件sql,查询,视图view,聚合函数,反模式,字符串处理函数

//把数据库导出到脚本文件mysqldump -uroot -p1234 --databases abc > d:/a/abc.sql CREATE TABLE stud( id INT PRIMARY KEY, NAME VARCHAR(32) NOT NULL, score NUMERIC(4,1));//把所有名字都设成"Mike"了UPDATE stud SET NAME="Mike" //只设置分数>=70的记录的NameUPDATE stud

SQL DDL 视图(VIEW)

在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表. 视图包含行和列,就像一个真实的表.视图中的字段就是来自一个或多个数据库中的真实的表中的字段.我们可以向视图添加 SQL 函数.WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表. 注释:数据库的设计和结构不会受到视图中的函数.where 或 join 语句的影响. SQL CREATE VIEW 语法 CREATE VIEW view_name AS SELECT column_name(s) FROM

SQL语言分类

 SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML, 数据定义语言DDL,数据控制语言DCL. 1 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE 子句组成的查询块: SELECT <字段名表> FROM <表或视图名> WHERE <查询条件> 2 数据操纵语言 数据操纵语言DML主要有三种形式: 1) 插入:INSERT 2) 更新:UPDATE 3) 删除:DELETE 3 数据定义语言DDL 数据定

自学SQL语言的例子(使用MySQL实现)

SQL语言作为一种数据库管理的标准语言有着极为广泛的应用场景,菜鸟入门选用的数据库软件是轻量级的免费(这个极为重要)的MySQL,下载链接如下:http://www.mysql.com/downloads/ ,笔者的程序在MySQL可视化界面WorkBench下编写脚本文件并执行,这比在命令行模式下执行更加便捷且直观.安利一本MySQL菜鸟入门的书籍刘少杰和曾少军编著的<MySQL5.5——从零开始学>这本书(资源自寻,为避免侵权这里就不给出链接了,当然也欢迎直接买本纸质书支持作者). 例子:

3. SQL语言基础

SQL语言: 数据定义语言(DDL,defination,CREAT.ALTER.DROP).数据查询语言(DQL).数据操纵语言(DML,INSERT.DELETE.UPDATE).数据控制语言(DCL) 数据定义: CREATE创建表.视图,索引 创建表: 创建视图: Oracle数据库的视图可以修改,标准SQL不可以.WITH CHECK OPTION:对视图进行UPDATE.DELETE.INSERT操作时,保证更新.删除或插入的行满足视图中定义的谓词条件,机子查询中的条件表达式. 创建

Oracle数据库SQL语言实战培训教程(全面、详细、案例、精讲)套餐

风哥Oracle数据库SQL语言实战培训教程(案例.精讲)套餐,DBA必备技能. 套餐介绍: 风哥Oracle数据库SQL语言实战培训教程(案例.精讲)套餐,DBA必备技能. 内容: SQL语言基础入门:SQL语言DDL语句和对象管理,表/临时表/索引/约束/视图/同义词/序列/触发器/存储过程/包的创建管理:SQL语言DML语句,SQL语句INSERT/UPDATE/DELETE,PL/SQL创建,事务与锁:SQL语言Select查询语句,SQL查询限制排序,联接查询,SQL子查询:SQL语言

【MySQL笔记】SQL语言四大类语言

SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL. 1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块: SELECT <字段名表> FROM <表或视图名> WHERE <查询条件> 具体参看:[MySQL笔记]数据库的查询 2 .数据操纵语言DML INSERT - insert data into a table(插入) UPDATE - upda