精华内容
下载资源
问答
  • 创建查询和视图
    万次阅读
    2019-02-14 10:01:30

    select view_name,text from user_views; 

     

     

    此处文章 转载等

    https://blog.csdn.net/zhou920786312/article/details/72841143

    更多相关内容
  • MySQL中,在两个或者以上的基本表上创建视图 在student表stu_info表上,创建stu_class视图,查询出s_id号、姓名班级 首先,创建stu_info表,并向表中插入数据 查看表中的数据 创建stu_class视图 查看视图 ...
  • 本文实例讲述了mysql视图之创建视图(CREATE VIEW)使用限制。分享给大家供大家参考,具体如下: mysql5.x 版本之后支持数据库视图,在mysql中,视图的几乎特征符合SQL:2003标准。 mysql以两种方式处理对视图的...
  • MySql示例5:创建查询视图.zip,MySql示例5:创建查询视图.zip,MySql示例5:创建查询视图.zip,MySql示例5:创建查询视图.zipMySql示例5:创建查询视图.zip
  • 文章目录1 视图概述2 创建视图3 修改视图4 删除视图 1 视图概述 视图就是将一个或多个表中的目标字段抽取出来形成的一个虚拟表。这个虚拟表真实的表具有相同的功能。 2 创建视图 语法格式: create view view_name...

    1 视图概述

    视图就是将一个或多个表中的目标字段抽取出来形成的一个虚拟表。这个虚拟表和真实的表具有相同的功能。
    视图的主要作用:
    (1)简化数据操作
    可以只将有用的数据展示给用户以供处理,而不用关心数据表中的结构,这样简化了数据处理的复杂性。
    (2)安全访问机制
    视图可以对用户访问的数据资源进行限定,可以控制用户对某些数据行或某些数据列进行操作。
    (3)降低查询语句的复杂性
    视图可以简化复杂查询的逻辑结构,将查询语句化繁为简。

    2 创建视图

    语法格式:
    create view view_name as select 字段 from tb1 [WITH CHECK OPTION]

    注意:
    (1)如果加上WITH CHECK OPTION,则基于视图的更新和新增操作必须满足查询条件
    (2)任意的SELECT语句,但是有些限制,如:不能使用INTO子句;不能在临时表或表变量上创建视图;只能在有Top *的查询中才能使用order by 等。

    create view v_id_name 
    as select departid,name from files
    

    在这里插入图片描述
    注:
    files表的建表语句,如下:

    create table files(
    userid int primary key identity,
    departid int null,
    postname nvarchar(50) null,
    duty nvarchar(50) null,
    name nvarchar(50) null,
    sex nvarchar(50) null,
    email nvarchar(50) null,
    tel nvarchar(50) null,
    qq nvarchar(50) null,
    phone nvarchar(50) null,
    address nvarchar(50) null
    )
    

    files表的插入数据语句如下:

    insert into files
    values
    (2,'干部','高级','李晓玉','女','LIXIAOYU@qq.com','010-5888888','123333','131212121','北京'),
    (5,'工人','中级','张明明','男','ZHANGMINGMING@qq.com','010-123123','8975675','137123671','北京'),
    (5,'工人','中级','王静','女','WANGJIN@qq.com','010-2131233','123123345','13712123123','北京'),
    (1,'干部','中级','张山','男','ZHANGSHAN@qq.com','010-122134','2613786','13718912367','哈尔滨')
    
    
    insert into files
    (departid,name)
    values
    (1,'小红'),
    (1,'小白'),
    (1,'小蓝'),
    (2,'大红'),
    (2,'李静'),
    (3,'张三')
    
    
    insert into files 
    (departid,postname,name,sex)
    values
    (3,'工人','小明','男');
    

    在这里插入图片描述
    建立files表男生的视图,并要求进行修改和插入操作时只对files表男生的信息进行操作,语句如下:

    create view v_sex_m
    as select departid,name,sex from files
    where sex='男'
    with check option
    
    select * from v_sex_m
    

    在这里插入图片描述
    向v_sex_m视图插入departid为1,名字为小红红,性别为女的记录

    insert into v_sex_m
    values
    (1,'小红红','女')
    

    在这里插入图片描述
    分析:
    加上 with check option,则基于视图的更新和新增操作必须满足查询条件,where sex=‘男’,所以无法插入性别为女的记录。

    3 查询视图

    在sql server图形化界面和查询语句中,视图都可以当成普通表使用。

    select * from v_sex_m
    

    在这里插入图片描述

    4 修改视图

    语法格式:
    ALTER VIEW view_name 字段 [ WITH ENCRYPTION]
    AS 查询语句 [ WITH CHECK OPTION ]

    alter view v_sex_m
    as 
    select top 1 name from v_sex_m
    

    5 删除视图

    语法格式:
    drop view view_name

    drop view v_sex_m
    

    总结

    1 视图就是虚拟表。基表中的数据发生变化,从视图中查询出的数据也随之改变。
    2 创建视图。加上with check option,则基于视图的更新和新增操作必须满足查询条件。
    3 查询视图。视图都可以当成普通表使用。
    4 删除视图。语法格式:drop view view_name。

    展开全文
  • MySql 子查询,连接查询,索引创建和视图

    MySql 子查询,连接查询,索引创建和视图

    1. 表连接

      • 内连接

        • 取每个表都能够匹配的值,如果对应的列值不存在,则被抛弃表1 inner join 表2 on 连接条件

        •   #内连接查询员工姓名及部门名称
          	select e.ename,d.dname from emp e inner join dept d on e.deptno = d.deptno;
          
      • 外连接

        • 左外连接

          • 以左表为基表(左表为主)
            可以查询出左表中的所有记录和右表中匹配连接条件的记录;

          • 如果左表的某行在右表中没有匹配行,那么在返回结果中,右表的字段值均为为空值(null)
            左表 left join 右表 on 连接条件;

            • select * from emp e left join dept d on e.deptno = d.deptno;

        • 右外连接

          • 以右表为基表(右表为主)
            可以查询出右表中的所有记录和左表中匹配连接条件的记录;

          • 如果右表的某行在左表红没有匹配行,那么在返回结果中,左表的字段值均为空值(null)
            左表 right join 右表 on 连接条件;

          • select * from emp e right join dept d on e.deptno = d.deptno;
            
      • 自然连接

        • 会根据表中相同名称的字段进行自动匹配
          表1 natural join 表2;

          select * from emp natural join dept;
          
      • 交叉连接

        • 返回连接表的笛卡尔积(两个集合的乘积)
          A = {1,2}
          B = {3,4,5}
          A * B = {(1,3),(1,4),(1,5),(2,3),(2,4),(2,5)}
          B * A = {(3,1),(3,2),(4,1),(4,2),(5,1),(5,2)}
          以上AB 和 BA的结果就叫做两个集合的笛卡尔积;
          容易导致查询结果重复,混乱,效率慢,不建议使用
          表1 cross join 表2; 可以加where条件
        • select * from emp cross join dept;
    2. 子查询

      • 相当于十查询语句嵌套,在一个查询结果中继续查询想要的数据,子查询进场出现在where 子句中

         #查询工资最低的雇员姓名职位及薪资
        select ename,job,sal from emp where sal = (select min(sal) from emp);
        			
        			
        #查询平均薪资最低的部门名称
        select dname from dept where deptno = 
        (select deptno from emp group by deptno order by avg(sal) limit 1);
        				
        #查询薪资高于clark的所有员工的姓名部门名称工作和薪资
        select e.ename,d.dname,e.job,e.sal from emp e left join dept d on e.deptno = d.deptno where sal > (select sal from emp where ename = 'clark');
        
    3. 索引

      • 类似于书中的目录,索引可以大大提高mysql的检索速度,依旧是查询性能,
        但是索引也不是越多越好,过多的索引会降低更新(插入,修改,删除)速度,
        因为索引是更具表中的一列或若干列按照一定顺序建立的列值与记录行之间的对应关系表,
        索引越多关系表越多(浪费磁盘空间),同时更新操作不但要更新内容而且要更新索引文件(降低了数据维护速度)

      • 创建索引

          #普通索引
          create index 索引名 on 表名(字段);
          #唯一索引
          create unique index 索引名 on 表名(字段)
          
        
        • 普通索引和唯一索引:
          • 查询操作(影响微乎其微几乎没有影响)
            普通:检索到第一个匹配项后会继续往后检索,知道检索到第一个不匹配项停止检索;
            唯一:检索到第一个匹配项后停止检索;

          • 更新操作(如果数据不在内存中唯一索引涉及磁盘读取会降低性能)
            普通:检索到位置后直接更新
            唯一:检索到位置后判断是否是唯一再更新

          • 性能总和考虑建议使用普通索引

      • 删除索引

        drop index 索引名 on 表名

    4. 视图:

      • 视图就是一张虚拟的表,我们可以将我们需要的表中的数据查出来定义为视图去查看,
        视图中的数据随着真实表中的数改变而改变,对试图的操作和对表的操作是一样的;

      • 视图的优点

        • 安全:

          用户只能查询和修改他们所能看到的数据,数据库中的其他数据则既看不到,也取不到,保证了数据的安全性;

        • 聚焦特定数据

          多个表中数据可能有很多,可是用户想要看的数据可能只是其中的部分,
          这样就可以使用视图将用户想要显示的数据进行显示;

      • 创建视图

        • create view 视图名 as 查询语句;
          
        • create view ed_view as select e.ename,e.sal,e.deptno,d.dname from emp e left join dept d on e.deptno = d.deptno;
          
        • # 查看视图
            select * from ed_view;
          
      • 修改视图

        • alter view 视图名 as 查寻语句;
          
        • alter table ed_view as select e.ename,d.dname from emp e left join dept d on e.deptno = d.deptno;
          
      • 删除视图

        drop view 视图名;
        drop view ed_view;
        

    展开全文
  • 【MySQL】MySQL视图创建查询

    千次阅读 2021-01-18 22:19:14
    视图是指计算机数据库中的视图,是一个虚拟表。关系型数据库中的数据是由一张一张的二维关系表所组成,简单的单表查询只需要遍历...视图相关的MySQL指令操作指令代码创建视图CREATE VIEW 视图名(列1,列2...) AS SEL...

    视图是指计算机数据库中的视图,是一个虚拟表。关系型数据库中的数据是由一张一张的二维关系表所组成,简单的单表查询只需要遍历一个表,而复杂的多表查询需要将多个表连接起来进行查询任务。对于复杂的查询事件,每次查询都需要编写MySQL代码效率低下。为了解决这个问题,数据库提供了视图(view)功能。

    视图相关的MySQL指令

    操作指令代码

    创建视图

    CREATE VIEW 视图名(列1,列2...) AS SELECT (列1,列2...) FROM ...;

    使用视图

    当成表使用就好

    修改视图

    CREATE OR REPLACE VIEW 视图名 AS SELECT [...] FROM [...];

    查看数据库已有视图

    >SHOW TABLES [like...];(可以使用模糊查找)

    查看视图详情

    DESC 视图名或者SHOW FIELDS FROM 视图名

    视图条件限制

    [WITH CHECK OPTION]

    1 解释下什么是视图:视图是虚拟表,本身不存储数据,而是按照指定的方式进行查询

    朕想要了解皇宫的国库的相关情况,想知道酒窖有什么酒,剩多少,窖藏多少年,于是派最信任的高公公去清点,高公公去国库清点后报给了朕;朕又想知道藏书情况,于是又派高公公去清点并回来报告给朕,又想知道金银珠宝如何,又派高公公清点。。。过一段时间又想知道藏书情况,高公公还得重新再去清点,皇上问一次,高公公就得跑一次路。

    后来皇上觉得高公公不容易,就成立了国库管理部门,小邓子负责酒窖,小卓子负责藏书,而小六子负责金库的清点。。。后来皇上每次想了解国库就直接问话负责人,负责人就按照职责要求进行汇报。

    0553939ae5f154943713f4c1e8c20e17.png

    安排专人管理后,每次皇上想要了解国库情况,就不必让高公公每次都跑一趟,而是指定的人员按照指定的任务完成指定的汇报工作就可以了。

    和数据库相对应,每次进行查询工作,都需要编写查询代码进行查询;而视图的作用就是不必每次都重新编写查询的SQL代码,而是通过视图直接查询即可。

    2 创建视图

    2.1 创建视图create view

    创建视图的代码为:

    create VIEW v_a_b(id,aname,bname)ASSELECT a.id as id ,a.name as aname,b.name asbname

    from a_demo a INNERJOINb_demo b

    ON a.id=b.id

    可以看到,创建视图和查询相比,增加了前面的CREATE VIEW 视图名 AS 。(join === inner join,只查询关联的数据,不以左或右表未主)

    2.2 视图运用:使用视图和使用表完全一样,只需要把视图当成一张表就OK了。视图是一张虚拟表。

    2.3 修改视图CREATE OR REPLACE VIEW

    (1)修改和创建视图可以使用代码:

    CREATE OR REPLACE VIEW 视图名 AS SELECT [...] FROM [...];

    (2)查看视图详情

    查看视图详情的方法有两种:

    >DESC 视图名;

    或者>SHOW FIELDS FROM 视图名;

    展开全文
  • 查询视图的sql语句(mysql创建视图sql语句)2020-07-24 12:07:14共10个回答两种方式,一种是直接在sqlserver的列表中找到,另一种用写语句的方式查询.方法一:1、登陆sqlservermanagerstudio.2、在左边的树找到自己要查询...
  • mysql多表查询创建视图

    千次阅读 2021-01-19 03:03:04
    匿名用户1级2016-12-03 回答MySQL在多个数据表上创建视图在MySQL中,使用CREATE VIEW语句也可以在两个或两个以上的数据表上创建视图。实例在department表worker表上创建一个名为worker_view1的视图。1. 创建视图的...
  • Oracle创建两表关联查询视图

    千次阅读 2021-05-05 01:10:29
    在项目开发中,有时候会用到多表查询,有很多种方法,比如关联,比如视图,但对于...下面我记录一下Oracle创建视图大多人操作数据库是用Scott权限进行操作数据库,但Scott是没有创建视图的权限的,所以我们要进入管...
  • 创建视图、删除视图、 查询视图。 (3)掌握使用Transact-SQL语句创建索引、查看缩引、删除索引;创建视图、删除视图、 查询视图。 实验内容步骤: 1.使用SSMS创建索引、查看缩引、删除索引;创建视图、删除视图...
  • MySQL如何创建视图和用户

    千次阅读 2021-11-30 09:11:55
    1.3 视图的规则限制 二.用户管理 2.1 用户 2.1.1 用户信息 2.1.2 创建用户 2.1.3 删除用户 2.1.4 修改密码 2.2 数据库权限 2.2.1 给用户授权 2.2.2 回收权限 一.视图 1.1 概念 ...
  • 创建 SwiftUI 项目工程,体验画布、预览模式 SwiftUI 模板代码; 要想在 Xcode 中预览画布中的视图,或者与画布中的视图进行交互,需要 Mac 系统版本号不低于 macOS Catalina 10.15。 ② 步骤 打开 Xcode,在...
  • 创建、删除、查询视图,只给用户查询权限 =======================其他============================= -- 删除用户 dropuserorder_select_zzzxyy cascade; --创建用户 并且给用户分配表空间 createuserorder_...
  • mysql创建及查看视图等操作

    千次阅读 2019-12-12 12:57:13
    # 创建视图 CREATE VIEW ab AS SELECT * FROM data_0925_01 limit 10 select * from information_schema.views #查询所有的视图 show tables #可查看所有的视图和表 select * from information_schema....
  • oracle 创建视图

    千次阅读 2021-05-01 03:39:13
    透过视图可以看到底层数据,但是视图和数据是相互独立的。2,创建视图需要有DBA权限。3,语法:CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view[(alias[,alias]..)]AS subquery;4,create or replace 表示若视图存在...
  • 视图的作用和创建查询

    千次阅读 2018-09-12 16:12:50
    如果要这些SQL语句存储为视图,那么查询的时候,就直接查询这个视图就可以了. 2、视图的好处 视图的好处,可以主要分为四点:  我简单的说一下,希望你能明白。  第一点:  使用视图,可以定制用户数据,聚焦特定...
  • MySql创建视图

    千次阅读 2021-01-18 19:13:41
    (1).第一类:create view v as select * from table;(2).第二类:create view v as select id,name,age from table;(3).第三类:create view v[vid,...如果涉及到数据量过大,业务逻辑需要跨表查询等等也可建立一个...
  • * 第6章 视图的创建使用 学习要点 视图的概念及优点 创建视图的方法 修改删除视图的方法 通过视图修改源表数据 1视图概述 1视图是一种存储查询的数据库对象是基于查询的一种虚拟表 视图保存的是一条查询语句本身...
  • Oracle_View视图创建

    2012-03-15 18:07:24
    Oracle_View视图创建在oracle数据库中已建立两张表rt_issuesectroadstate,表结构如下: 高架状态表结构rt_issuesect
  • MySQL 跨库关联查询 (创建视图)

    千次阅读 2021-01-28 07:40:03
    MySQL 跨库关联查询 (创建视图)一, 前言SQL CREATE VIEW 语句什么是视图?在 SQL 中, 视图是基于 SQL 语句的结果集的可视化的表.视图包含行列, 就像一个真实的表. 视图中的字段就是来自一个或多个数据库中的真实的...
  • 一、创建视图 语法:          create view 视图名          as          查询语句; ...
  • 数据库实验四 创建和使用视图

    千次阅读 2021-06-05 13:34:55
    实验四 创建和使用视图 1.实验目的 掌握使用Management studioSQL命令进行视图创建、修改删除。 掌握使用SQL命令对视图访问数据。 2.实验内容 创建一个简单的视图查询课程号101的不及格的学生信息。...
  • 实验四、 创建和使用视图一、实验目的二、实验内容三、实验步骤、数据记录及处理1)创建一个简单的视图查询课程号101的不及格的学生信息。2) 修改简单视图查询课程号107成绩介于70-100的学生信息。3) 使用视图...
  • 利用查询结果创建和视图

    千次阅读 2018-03-30 18:53:02
    创建表 CREATE table (表名) AS select … 可以用于创建临时表 创建视图 CREATE VIEW (视图名) AS select … 视图多用在需要隐藏表细节的场合
  • 【MongoDB】关联查询创建视图view

    千次阅读 2019-06-20 19:02:46
    通常在涉及到多表关联查询的需求时,MongoDB(3.4版本以上)可以采用建立视图(view)的方式来实现。 视图里是不存在真正的数据的,可以把它简单的看成是一个“伪集合”。需要访问视图的内容时,视图数据都是通过...
  • MySQL数据库视图:视图定义、创建视图、修改视图

    万次阅读 多人点赞 2017-03-20 11:54:15
    视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。视图不直接存储数据,不知真正的表。 关系型数据库中的数据是由一张一张的二维关系表所组成,简单的单表查询只需要遍历一个表,而复杂的多表查询...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 893,880
精华内容 357,552
关键字:

创建查询和视图