分享

数据操纵和视图

 翱翔jjj 2010-05-28

数据操纵和视图

一、实验目的

熟练掌握DML语句,insertupdatedelete访问数据记录

能够在企业管理器和查询分析器中创建并使用视图

    说明更新视图时的注意事项

二、实验内容

  1.使用insert语句插入一条或多条记录

2.使用update delete语句更新一条或多条记录

3.使用create view语句创建多个视图

4.视图更新,并注明更新视图过程中需要注意的事项

 

三、实验任务

 (一)insert语句

①向表s中插入一条完整的记录数据 's7','机床厂','河南新乡建设路48'0371-1234567'

insert  into s values('s7','机床厂','河南新乡建设路48','0371-1234567')

②向s中插入多条不完整的记录 ('s10','机床厂') 's12','净水厂')( 's13','玩具厂'

insert into s(sno,sname) select 's10','机床厂' union  select  's12','净水厂' union select  's13','玩具厂'

③使用select into语句新建一个临时表#ss, 临时表#ss和表s 具有相同的结构,但是表中没有数据。向表#ss中插入多条记录

select * into #ss from s where 1<>1

insert into #ss select * from s

④修改临时表#ss,添加一个字段sid (identity(1,1)),并设置为primary key.并为#ss表添加一条记录('s1','shuini','新乡''0371-4567891')

alter table #ss add sid int identity(1,1)  primary key

insert into #ss values ('s1','shuini','新乡','0371-4567891')

⑤设置#ss表,设置 set identity_insert #ss on, 插入一条记录 ('s1','shuini','新乡',-100)

set identity_insert #ss on

insert into #ss(sno,sname,saddr,sid) values ('s1','shuini','新乡',-100)

(二)update语句

①更新表#ss,将sname为”机床厂”的值更改为“机床”

update #ss set sname='机床'where sname='机床厂'

②在update语句中使用来自另一个表的信息

    update #ss

       set sname=s.sname

     from s,#ss

    where #ss.sno=s.sno

③在update语句中使用select...top语句

将供应零件最少的供应商的供应商名称改为“差”

update  s  set sname=  ''  where sno in  ( select top 1 sno from spj group by sno

order by count(pno) asc)

(三)delete语句

①删除名字有“差”字的供应商信息

select * into #s from s

select * from #s

delete  from #s

where sname=''

②删除名字有“差”字的供应商供应的零件信息

select * into #pp from p

select * from #pp

delete from #pp

where pno in

(

select pno from spj

where pno=spj.pno and sno in

(

select sno from s

where sno=spj.sno and sname like '%%'

))

③比较truncate,delete,drop table的区别

     

(四)视图操作

   1①创建项目表j的视图view_j

   create view view_j as select * from j

        ②更新视图view_j,插入记录('j8','长江大桥','南京',10000),('j9','淮河大桥','淮滨',10

insert into  view_j

select 'j8','长江大桥','南京',10000

union select 'j9','淮河大桥','淮滨',10

        ③更新视图view_j,将balance的值都加上5000

update view_j set balance=balance+5000

        ④更新视图view_j,删除项目编号为j8的项目信息

delete view_j

where jno='j8'

  2创建一个工程试图view_part_j,显示工程名和所在城市

create view view_part_j

as

select jname,jcity from j

       ②向视图插入一条不完整的记录('胖东来超市','新乡',若不能插入,则说明原因。

insert into view_part_j values('胖东来超市','新乡')

       ③修改视图,将工程名为淮河大桥所在的城市改为“信阳”。说明原因。

update  view_part_j set jcity='信阳'where jname='淮河大桥'

       ④修改视图,删除城市名为“信阳”的项目信息。说明原因。

delete view_part_j where jcity='信阳'

3 创建一个视图view_count_spj,该视图用来显示供应商编号,供应零件总数

create  view view_count_spj as select sno, count(qty) 供应零件总数 from spj group by sno

       ②向视图插入一条不完整的记录('s6',4',若不能插入,则说明原因。

 

insert into view_count_spj values('s6',4)

       ③修改视图,将供应商编号为‘s5的零件种类数改为7。说明原因。

 

       ④修改视图,删除编号为“S5的信息。说明原因。

  delete view_count_spj where sno='s5'

4 创建一个视图view_spj,该视图用于显示工程项目所使用的零件(j.jno,jname,p.pno,pname,s.sno,sname,qty)

create view view_spj  as select j.jno,jname,p.pno,pname,s.sno,sname,qty from spj,p,j,s

       ②向视图插入一条记录('j10','实验室','p20','小螺丝','s30','河师大',100),若不能插入,则说明原因。

insert into view_spj values ('j10','实验室','p20','小螺丝','s30','河师大',100)

 

       ③修改视图,将项目名称为明珠线qty提高到1.5倍。说明原因。

update view_spj set qty=1.5*qty where jname='明珠线'

 

       ④修改视图,删除项目名称为明珠线的信息。说明原因。

delete view_spj where jname='明珠线'

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多