精华内容
下载资源
问答
  • Oracle创建索引、视图SQL语句

    千次阅读 2020-05-19 12:23:36
    2、删除索引 drop index 索引对象名; 例: drop index userid; 二、视图(并不是真实存在的一张表) 1、创建视图 create view 视图名(学号,姓名,科目,成绩) as select 对应在表格中的字段名 from 涉

    一、索引

    1、添加索引
    create index 索引对象名 on 索引对应表名(表内索引对象字段名);
    例:需创建包含userid属性的userinfo表。
    create index userid on system.userinfo(userid);

    2、删除索引
    drop index 索引对象名;
    例:
    drop index userid;

    二、视图(并不是真实存在的一张表)

    1、创建视图
    create view 视图名(学号,姓名,科目,成绩) as
    select 对应在表格中的字段名
    from 涉及到的多张表名
    where 多张表通过id连接

    例:需创建学生信息表包含学生id和学生姓名,科目表包含科目id和科目名称,成绩表包括成绩id、学生id和科目id。
    create view system.info(学号,姓名,科目,成绩) as
    select userinfo.userid,userinfo.username,subject.subname,score.scnum
    from userinfo,subject,score
    where score.userid=userinfo.userid and score.subid=subject.subid;

    2、查看视图信息
    select * from 视图名;
    例:
    select * from system.info;

    ~注:基础增删改查SQL语句学习,可点击:SQL语句编写(增、删、改、查、序列)

    展开全文
  • --删除视图 --删除视图只是删除视图的定义,并不会删除基表的数据。 --只有视图所有者和具备DROP VIEW权限的用户可以删除视图。 --视图删除后,基于被删除的其他视图或应用无效。 ...

    --删除视图
    --删除视图只是删除视图的定义,并不会删除基表的数据。
    --只有视图所有者和具备DROP VIEW权限的用户可以删除视图。
    --视图被删除后,基于被删除的其他视图或应用无效。

    如上描述如有不懂,可以扫码关注麒琳技术栈公众号,欢迎在线咨询

    展开全文
  • SQL语句(四)视图定义、查询、更新和删除

    万次阅读 多人点赞 2018-07-16 16:54:32
    和基本表的查询语句类似,只是把表名的位置换成视图名就可以 三、视图删除 DROP VIEW 视图名 【CASCADE】//CASCADE为级联删除,可以省略 四、实例 1.创建一个“上海晓莉贸易商行”供应商供应的零件视图V_DLMU_...

    一、视图定义

    CREATE VIEW 视图名

    AS 子查询

    WITH CHECK OPTION //可以省略

    二、视图查询、更新

    和基本表的查询语句类似,只是把表名的位置换成视图名就可以

    三、视图删除

    DROP VIEW 视图名 【CASCADE】//CASCADE为级联删除,可以省略

    四、实例

    1.创建一个“上海晓莉贸易商行”供应商供应的零件视图V_DLMU_PartSupp1,要求列出供应零件的编号、零件名称、可用数量、零售价格、供应价格和备注等信息。
    CREATE VIEW V_DLMU_PartSupp1
    AS
    SELECT
    part.partkey,part.name,availqty,retailprice,supplycost,part.comment
    FROM part,supplier,partsupp
    WHERE part.partkey=partsupp.partkey
         AND partsupp.suppkey=supplier.suppkey
         AND supplier.name='上海黎顺服装经营部';
    SELECT *
    FROM V_DLMU_PartSupp1;
    2. 创建一个视图V_CustAvgOrder,按照顾客统计平均每个订单的购买金额和零件数量,要求输出顾客编号,姓名,平均购买金额和平均购买零件数量。
    CREATE VIEW V_CustAvgOrder(custkey,cname,avgprice,avgquantity)
    AS
    SELECT customer.custkey,customer.name,AVG(totalprice),AVG(quantity) 
    FROM customer,orders,lineitem
    WHERE customer.custkey=orders.custkey AND orders.orderkey=lineitem.orderkey
    GROUP BY customer.custkey,customer.name;
    
    SELECT *
    FROM V_CustAvgOrder;
    3.使用WITH CHECK OPTION,创建一个上海黎顺服装经营部供应商供应的零件视图V_DLMU_PartSupp2,要求列出供应零件的编号、可用数量和供应价格等信息。然后通过该视图分别增加、删除和修改一条“上海黎顺服装经营部”零件供应记录,验证WITH CHECK OPTION是否起作用。
    CREATE VIEW V_DLMU_PartSupp2
    AS
    SELECT partkey,suppkey,availqty,supplycost
    FROM partsupp
    WHERE suppkey=
                  (
                  SELECT suppkey
                  FROM supplier
                  WHERE name='上海黎顺服装经营部'
                  )
    WITH CHECK OPTION;
    SELECT *
    FROM V_DLMU_PartSupp2;
    
    INSERT
    INTO V_DLMU_PartSupp2
    VALUES(3,1,18,20);
    SELECT *
    FROM V_DLMU_PartSupp2;
    
    UPDATE V_DLMU_PartSupp2
    SET supplycost=18
    WHERE partkey=2;
    SELECT *
    FROM V_DLMU_PartSupp2;
    
    DELETE FROM V_DLMU_PartSupp2
    WHERE supplycost=20;
    SELECT *
    FROM V_DLMU_PartSupp2;
    4.创建一个上海黎顺服装经营部供应商供应的零件视图V_DLMU_PartSupp3,要求列出供应零件的编号、可用数量和供应价格等信息。然后通过该视图分别增加、删除和修改一条上海黎顺服装经营部零件供应记录,并比较题目3操作与本次异同。
    CREATE VIEW V_DLMU_PartSupp3
    AS
    SELECT partkey,suppkey,availqty,supplycost
    FROM partsupp
    WHERE suppkey=
                  (
                  SELECT suppkey
                  FROM supplier
                  WHERE name='上海黎顺服装经营部'
                  );          
    SELECT *
    FROM V_DLMU_PartSupp3;
    
    INSERT
    INTO V_DLMU_PartSupp3 
    VALUES(3,1,18,20);
    SELECT *
    FROM V_DLMU_PartSupp3 ;
    
    INSERT
    INTO V_DLMU_PartSupp3 
    VALUES(30007,4,18,20);
    SELECT *
    FROM partsupp
    WHERE partkey=30007;
    
    UPDATE V_DLMU_PartSupp3
    SET supplycost=30
    WHERE partkey=2;
    SELECT *
    FROM V_DLMU_PartSupp3;
    
    DELETE FROM V_DLMU_PartSupp3
    WHERE supplycost=20;
    SELECT *
    FROM V_DLMU_PartSupp3;
    
    5.验证题目2中定义的视图不可以更新
    INSERT
    INTO V_CustAvgOrder
    VALUES(100000,'liuhui',20,20000);
    6.创建顾客订单明细视图V_CustOrd,要求列出顾客编号、姓名、购买零件数量、金额,然后再该视图的基础上,再创建V_CustAvgOrder视图,然后使用RESTRICT选项删除视图V_CustOrd,观察现象并解释原因。使用CASCADE选项删除视图V_CustOrd,观察现象并检查V_CustAvgOrder是否存在并解释原因。
    
    CREATE VIEW V_CustOrd(custkey,name,quantity,extendedprice)
    AS
    SELECT customer.custkey,customer.name,quantity,extendedprice
    FROM customer,orders,lineitem
    WHERE customer.custkey=orders.custkey AND orders.orderkey=lineitem.orderkey; 
    SELECT *
    FROM V_CustOrd;
    
    CREATE VIEW V_CustAvgOrder(custkey,name,avgquantity,avgprice)
    AS
    SELECT custkey,name,AVG(quantity),AVG(extendedprice) 
    FROM V_CustOrd
    GROUP BY custkey,name;
    SELECT *
    FROM  V_CustAvgOrder;
    DROP VIEW V_CustOrd RESTRICT;
    
    DROP VIEW V_CustOrd ;
    

    五、参考结果

    1.创建该视图成功后查询结果

    2.创建该视图成功以及查询该视图的结果

     

    3.对视图V_DLMU_PartSupp2各项操作的结果

      3.1创建并查询该视图

      3.2执行插入操作并查询插入后的视图结果

      3.3执行修改操作并查询修改后的视图结果

      3.4执行删除操作并查询删除后的视图结果

    4.对视图V_DLMU_PartSupp3各项操作结果

      4.1建立成功后查询结果

      4.2进行插入操作并查新插入后的视图结果

     

      4.3进行修改操作并查询修改后的视图结果

      4.4进行删除操作并查询删除后的视图结果

    5.题目2中建立的视图更新操作结果

    6. RESTRICT和CASCADE删除

    六、注意

    1.实例2中创建的视图V_CustAvgOrder不可更新的原因:因为所创建的视图对其属性值进行了计算的其他形式上的改变,而对视图的更改最终表现为对表的更改而表中不存在视图的某一属性,或属性的性质不相同,则无法更改,这是一种视图机制。V_CustAvgOrder定义了平均购买金额和平均购买零件数量,但是原来的表项中并没有,对它们的更改无法对应到基本表上,所以该视图不可以更新。

    2. with check option  :在视图上的修改都要符合视图定义时的SELECT语句所指定的限制条件,这样可以确保数据修改后通过视图可以看到修改后的数据。

      3. RESTRICT删除和CASCAD删除:视图删除后视图的定义将从数据字典中删除,如果在该视图上还导出了其他视图,删除这些视图需要级联删除,遗憾的是,SQL Server2008并不支持级联删除,不过可以先删除视图 V_CustAvgOrder,然后再删除视图V_CustOrd。

     4. 视图的更新:一般行列子集视图是可以更新的,因为它只是去掉了基本表的某些行或者列,并且保留了主码,对视图的更新通过视图消解可以转化为对基本表的更新。

     

    展开全文
  • 视图的定义与删除SQL语言

    千次阅读 2019-06-13 19:41:32
    视图的定义与删除SQL语言 2008-11-05 19:23:42 阅读90 评论0 字号:大中小 订阅 .    视图是从一个或者几个基本表(或视图)导出的表。它与基本表不同,是一个虚表。数据库中只存放视图的定义,而不存放视图...
    视图的定义与删除SQL语言 2008-11-05 19:23:42 阅读90 评论0   字号:大中小 订阅 .

             

               视图是从一个或者几个基本表(或视图)导出的表。它与基本表不同,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍然存放在原来的基本表中。所以基本表中的数据发生变化,从视图中查询出来的数据也就随之变化。从这个意义上讲,视图就像是一个窗口,透过它能看到数据库中自己感兴趣的数据及其变化。

                视图一经定义,就可以和基本表一样被查询、被删除。也可以在一个视图上再定义新的视图,但是对视图的变更(增、删、改)操作有一定的限制。

    一、建立视图(create view)

         使用SQL语言,格式如下:

                            create  view    视图名   【(列名,列名,。。。。)】

                             as   子查询

                            【 with    check    option】  ;

            备注:1、子查询(即select。。。from。。。where。。。)可以是任意复杂的select语句,但是通常不允许

                            含有order by 子句和distinct短语。

                       2、“with check option”表示对视图进行update、insert、delete操作时要保证更新、插入或者删除的

                             行满足视图定义中的谓词条件(即子查询中的条件表达式)。若没有此项要求时,可以不能写、

                            “with check option”语句。

                        3、组成视图的属性列名或者全部省略或者全部指定,不能对其进行部分指定。

                        4、有时可以不写出各列名,但是在下面三种情况下必须明确指定组成视图的所有列名:

                               (1)某个目标列不是单纯的的属性名,而是聚集函数或者列表达式;

                               (2)多表连接时选出了几个同名列作为视图的字段;

                               (3)需要在视图中为某个列启用新的更合适的名字。

                          5、格式中带有“【】”的内容,不是格式的必要组成部分,只要在需要的时候写出即可。

                  【例一】建立信息系学生的视图,并要求在修改和插入操作时仍需保证该视图只有信息系的学生。

                     create  view  is-student

                     as

                     select  sno,sname,sage

                     from student

                    where sdept='IS'

                    whth check option;                      实现在对视图进行修改、插入、删除操作时仍然满足子查询中

                                                                               的条件表达式



    概念定义: 行列子集视图:若一个是从单个表导出的,并且只是去掉了基本表的某些行和某些列,但是保留了主码,称这类视图为~

    虚拟列:视图中的某些列并不是从基本表中直接查询到数据,而是基本表的数据计算出来的,这些数据并不真实存在在表中。

    带表达式的视图:带有虚拟列的视图又称为~

    【例二】建立信息系选修了1号课程的学生的视图。

    create  view IS-SI (sno ,sname, grade)

    as

    select student.sno,sname,grade

    From student , sc

    where sdept='IS'   and  student.sno=cs.sno    and sc.cno=’1’;

    备注:由于在这两个表中都涉及到学号sno,所以在select时要明确指出来取的是哪一个sno,所以在sno前面要加上表名student.sno ,以免混淆。

    在where条件子句中,要把这个条件加上student.Sno=cs.Sno ,将两个表连接起来。

    满足必须要写出视图各列名的第二种情况:多表连接时选出了几个同名列作为视图的字段。

    【例三】反应学生出生年份的视图

    create   view  BT-S (sno , sname  , sbirth)

    as

    select  sno, sname , 2008-sage        

    from student  ;

    备注:视图中的列可以是从基本表中得到的数据经过计算得来的,select语句中可以是一个表达式。

      同时这个情况也满足了视图定义的基本格式中一定要给出视图列名的第一种情况:目标列(即指的是select语句中的列)不是单纯的属性名,而是列表达式。

    【例四】将学生的学号以及他的平均成绩定义为一个视图。

    create view  S-G (sno , gavg)           满足格式中必须写出视图列名的第一种情况:目标列是一个聚集函数

    as

    select  sno, AVG(grade)                     目标列是一个聚集函数

    from sc

    group by sno ;                                  得到的结果按照学号分组,即学号相同的在一起,实现将一个学生的不

                                                                 同课程成绩放在一起,然后再写下一个学生的成绩

    【例五】将student表中所有女生记录定义为一个视图。

    create   view   F-student (F-sno,name,sex,age,dept)

    as

    select  *                                                                 *表示要建立的视图F-student的属性列与studet表的属性列

                                                                                    一一对应,所以可以不必一一列出,*代表全部。

    from   student

    where ssex='女' ;

     

    二、删除视图(drop view)

    格式如下:drop  view   视图名  【cascade】

    备注:cascade(级联),表示要将该视图和由它导出的所有视图一起删除。如果不加cascade时,则表示如果该视图涉及到了其他视图,则拒绝执行删除。

    加了“【】”表示:不是格式的必要组成部分,需要的时候写。

    三、对视图进行更新和查询和对基本表的操作相同

    转载于:https://my.oschina.net/dminter/blog/205030

    展开全文
  • 二、sql语句删除方法 (1) USE master --向这个数据库 DROP DATABASE E_Market --删除E_Market数据库 GO (2)判断数据是否有E_Market这个数据库、如果有就进行删除 --判断数据是否有 E_Market 这个数据库、如果有...
  • SQL语句--创建视图

    千次阅读 2021-03-02 17:45:21
    SQL语句–创建视图 写这个创建视图的语句 首先我们要写出 相关内容的查询语句 eg: select* from Student t1 inner join Teacher t2 on t1.no=t2.no where t2.Tname='Mimo_YY' 然后写外框架,即完成 create VIEW ...
  • 数据库 之视图基本操作SQL语句

    千次阅读 2020-02-11 17:26:08
    一、创建视图 语句格式 CREATE VIEW <视图名> [(<列名> [,<列名>]…)] AS <子查询> [WITH CHECK OPTION]; 1、子查询可以是任意的SELECT语句,是否可以含有ORDER BY子句和DISTINCT短语,则...
  • 视图是一个可视化的表。视图中的字段就是来自一个或多个数据库中的真实...现在要在这个视图基础上,删除 性别 这一列,使用关键字 alter, 语句如下。 alter view view_s as ( select s.sno as 学号, s.sn as 姓名
  • 使用T-SQL语句操作视图提示:只能查看,删除,创建视图,不能对数据进行增,删,改操作。use StuManageDB go --判断视图是否存在 if exists(Select * from sysobjects where Name='View_ScoreQuery') drop view View...
  • 1、掌握数据更新语句的使用; 2、掌握视图操作的基本方法和应用,理解基于视图的查询和数据更新操作的过程。
  • 视图是从一个或几个基本表(或视图)中导出的虚拟的表。在系统的数据字典中仅存放了视图的定义,不存放视图对应的数据。视图是原始数据库数据的一种变换,是查看表中数据的另外一种方式
  • 常用SQL语句大全

    2019-03-04 16:25:33
    DROP TABLE --从数据库中删除表 ALTER TABLE --修改数据库表结构 CREATE VIEW --创建一个视图 DROP VIEW --从数据库中删除视图 CREATE INDEX --为数据库表创建一个索引 DROP INDEX --从数据库中删除索引 ...
  • 职位分类信息sql语句(附带视图代码),直接导入数据库,直接用。
  • SQL语句之数据库之创建视图

    千次阅读 2021-03-31 23:15:58
    MySQL之创建视图
  • 在多表查询中可能遇到两表、三表乃致四表查询,自己进行直接用sql 语句进行书写的话可能比较难,但是可以借助视图进行分析,书写
  • SQL SERVER中先判断视图是否存在,使用IF NOT EXISTS,然后再创建视图,使用create view,整个过程如下
  • oracle使用sql语句建表以及视图

    千次阅读 2019-03-26 19:08:55
    有时连接的表太多,数据量太大时已经不好建表,但是每次重新输入语句查询又很不方便,这时候推荐创建视图视图作为一个查询结果的虚拟表,能够让数据更简单。或者有第三方人员查看的时候,视图的只读权限也很适合。...
  • clickhouse创建物化视图SQL语句

    千次阅读 2019-12-31 14:49:21
    1.上半部分是创建物化视图的建表语句,下半部分是将哪些数据更新到物化视图中; 如果是创建普通视图只需将下半部分中的 MATERIALIZED 字段去掉即可; CREATE TABLE south.alarm_daily_statistics ( `alarm_time` ...
  • 数据库创建/删除视图语句

    千次阅读 2020-10-29 15:34:49
    复习一下不常用的SQL语句,仅供参考 1、创建视图语句: CREATE OR REPLACE VIEW viewName(视图名) AS SELECT * FROM table(表名) 解释: OR REPLACE :若所创建的试图已经存在,则替换旧视图 2、删除语句: drop ...
  • 如何查看视图sql语句

    千次阅读 2017-06-30 13:34:00
    select text from syscomments s1 join sysobjects s2 on s1.id=s2.id where name='视图名称'前提条件是视图没有被加密,有权限 转载于:https://www.cnblogs.com/zhiming99/p/7098413.html
  • sql server中删除视图

    千次阅读 2019-09-27 13:29:31
    sql server中删除视图 1. 删除视图 drop view is_s1; 2. 级联删除视图 drop view is_s1 cascade;
  • Oracle SQL视图查询语句解析

    千次阅读 2019-09-19 20:07:20
    select “PULLERNAME”, “ITEM_VALUE”, “CREATE_TIME”, “GROUP_IDX” from (select SUBSTR(ITEM_NAME, -3, 3) as pullername ,ITEM_VALUE,CREATE_TIME, ...row_number() over (partition by ITEM_NAME order ...
  • MySql 数据库查看视图的创建sql语句

    万次阅读 2019-02-22 22:16:06
    在网上能找到大量的视图创建、修改、删除语句,但是查看创建语句语句不好找。 show create view VIEW_NAME  
  • 创建视图SQL:在SQL Server中创建视图

    千次阅读 2020-07-17 13:42:32
    介绍 (Introduction) ... In this article, we are going to see how to use the CREATE VIEW SQL statement to create a view. This is the first article in a series that will be a programmatical approa...
  • 方式1-图形用户界面 1、新建视图 2、保存视图 3、刷新视图节点 4、查看视图 5、维护视图 6、删除视图 方式2-SQL语句 1、创建视图 2、查看视图中的数据 3、修改视图 4、删除视图
  • 111.Oracle数据库SQL开发之 视图——修改、删除视图 欢迎转载,转载请标明出处: http://blog.csdn.net/notbaron/article/details/50043091 CREATE OR REPLACE可以彻底替换一个视图。 如下: store@PDB1> create or ...
  • --删除一个元组 DELETE FROM S  WHERE SNO='200915128'; --将学生200915121的年龄改为22岁 UPDATE S SET AGE=22 WHERE SNO='200915121'; --将所有学生的年龄增加1岁 UPDATE S SET AGE=AGE+1; -...
  • 最近因为需要想使用SQL语句将数据库下的所有表、视图、SEQUENCE等全部删除。提供一下SQL语句可以实现该需求,分享一下,希望帮到大家。在ORACLE 11G下使用正常 BEGIN FOR i IN (SELECT us.sequence_name FROM USER...
  • sql语句查看oracle视图创建语句

    千次阅读 2014-07-04 09:48:54
    sql语句查看oracle视图创建语句: 1.查看所有视图的名字 select view_name from all_views; 或者select view_name from user_views; 2.查看某视图名为“某某视图”的创建语句 select text...
  • Sql视图创建语句及修改视图

    千次阅读 2016-04-29 21:36:00
    获得视图程创建语句 select o.xtype,o.name,cm.text from syscomments cm inner join sysobjects o on o.id = cm.id where xtype = ' v ' order by o.xtype,o.name,cm.text   转载于:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 219,330
精华内容 87,732
关键字:

删除视图的sql语句