当前位置:Gxlcms > 数据库问题 > 面向对象数据库设计与应用 04 - 数据表操作与查询

面向对象数据库设计与应用 04 - 数据表操作与查询

时间:2021-07-01 10:21:17 帮助过:22人阅读

0003,推荐,服装); Insert into C##RD.RD_GOODS (GOOD_ID,DISCOUNT,GOODS,UNIT_PRICE,PURCHASE_DATE,GOOD_TYPE) values (0003,0.85,劲霸西服,165,2017-32-23, (select ref(a) from RD_COMMODITY_TYPES a where COMMODITY_TYPE_ID=0003));select GOOD_ID,GOODS,deref(GOOD_TYPE),(select STATUS from RD_COMMODITY_TYPES where RD_COMMODITY_TYPES.COMMODITY_TYPE_ID=0003) from RD_GOODS where GOOD_TYPE=(select ref(a) from RD_COMMODITY_TYPES a where COMMODITY_TYPE_ID=0003); select GOOD_ID,GOODS,deref(GOOD_TYPE),(select STATUS from RD_COMMODITY_TYPES where RD_COMMODITY_TYPES.COMMODITY_TYPE_ID=0003) from RD_GOODS where GOOD_TYPE=(select ref(a) from RD_COMMODITY_TYPES a where COMMODITY_TYPE_ID=0003); update RD_COMMODITY_TYPES set STATUS=热点 where COMMODITY_TYPE_ID=0003; select GOOD_ID,GOODS,deref(GOOD_TYPE),(select STATUS from RD_COMMODITY_TYPES where RD_COMMODITY_TYPES.COMMODITY_TYPE_ID=0003) from RD_GOODS where GOOD_TYPE=(select ref(a) from RD_COMMODITY_TYPES a where COMMODITY_TYPE_ID=0003);

 


  

②更新多条记录。将所有商品的折扣调整为0.8,将所有的进货日期调整2010年10月1日

select * from RD_GOODS;

update RD_GOODS set  DISCOUNT=0.80,PURCHASE_DATE=2010-10-01;

select * from RD_GOODS;

 


  

③删除单条记录。商品号为040002的商品已售完,在商品表中清除该商品的信息。

update RD_GOODS set  GOOD_ID=040002 where GOODS=劲霸西服;

select * from RD_GOODS;

 

delete from RD_GOODS where GOOD_ID=040002;

select * from RD_GOODS;

 


  

④删除所有记录。删除用户表中的所有信息。

select * from RD_MEMBERS;

 

delete from RD_MEMBERS;

select * from RD_MEMBERS;

 


  

⑤使用复合条件查询。需要了解商品类别为01,并且商品单价在2500元以上,的商品信息,要求以汉字标题显示商品号,商品名称,商品类别和价格。

update RD_COMMODITY_TYPES set COMMODITY_TYPE=02;

Insert into RD_COMMODITY_TYPES (COMMODITY_TYPE_ID,STATUS,COMMODITY_TYPE) values (0004,推荐,01);

Insert into C##RD.RD_GOODS (GOOD_ID,DISCOUNT,GOODS,UNIT_PRICE,PURCHASE_DATE,GOOD_TYPE) values (0004,0.8,直升飞机,165000,2017-32-23, (select ref(a) from RD_COMMODITY_TYPES a where COMMODITY_TYPE_ID=0004));

Insert into C##RD.RD_GOODS (GOOD_ID,DISCOUNT,GOODS,UNIT_PRICE,PURCHASE_DATE,GOOD_TYPE) values (0005,0.95,520钢铁胶水,165,2017-32-23, (select ref(a) from RD_COMMODITY_TYPES a where COMMODITY_TYPE_ID=0004));

Insert into C##RD.RD_GOODS (GOOD_ID,DISCOUNT,GOODS,UNIT_PRICE,PURCHASE_DATE,GOOD_TYPE) values (0006,0.45,华人牌手机,23450,2017-32-23, (select ref(a) from RD_COMMODITY_TYPES a where COMMODITY_TYPE_ID=0004));

select * from RD_GOODS;

 

select GOOD_ID "商品号", GOODS "商品名称",(select COMMODITY_TYPE from RD_COMMODITY_TYPES where RD_COMMODITY_TYPES.COMMODITY_TYPE=01) "商品类别", UNIT_PRICE "价格" from RD_GOODS where (select COMMODITY_TYPE from RD_COMMODITY_TYPES where RD_COMMODITY_TYPES.COMMODITY_TYPE=01)=01 and UNIT_PRICE > 2500;

 


  

⑥模糊查询。知道一个商品的商品名称中包含有“520”字样,要求查询该商品的商品号、商品名称、商品单价和商品折扣。

select * from RD_GOODS;

 

select GOOD_ID,GOODS,UNIT_PRICE,DISCOUNT from RD_GOODS where GOODS like%520%;

 


  

 

 

五、运行结果

①更新单条记录

 技术图片

图5-1 单条数据更新前

 

 技术图片

图5-2 单条数据更新后

 

 

②更新多条记录

 技术图片

图5-3 多条数据更新前

 

 技术图片

图5-4 多条数据更新后

 

 

 

 

 

③删除单条记录

 技术图片

图5-5 单条记录删除前

 

 技术图片

图5-6 单条记录删除后

 

 

 

 

 

④删除所有记录

 技术图片

图5-7 所有记录删除前

 

 技术图片

图5-8 所有记录删除后

 

 

 

 

 

⑤使用复合条件查询

 技术图片

图5-9 复合条件查询前

 

 技术图片

图5-10 复合条件查询后

 

 

 

 

 

⑦    模糊查询

 技术图片

图5-11 模糊查询前

 

 技术图片

图5-12 模糊查询后

 

 

 

 

 

六、实验总结

通过实验,相关总结和经验收获,可分点总结如下:

  1. 在本实验使用复合条件查询的时候,根据以往SqlServer的经验,用[]把中文列名包围住或者采用“as ‘ 别名’”的方式,执行语句仍然报错,而经过在网上找了一些资料,才发现,Oracle的中文列别名要用 "" 双引符号括起来;
  2. 模糊查询操作,简单的方式就是字符匹配操作可以使用通配符 “%” 和 “_”,其中,%:表示任意个字符,包括零个;  

          i.      _:表示一个任意字符。再次复习了SqlServer的相关知识点;

  1. 对于本实验中的部分操作需求,由于没有绝佳的跨实验准备或最吻合的匹配度,所以在进行操作时,都必须事先进行数据准备,这也就是为什么本实验的实验步骤中,明明题目需求可以使用一条SQL来完成,从而列举了多条的原因;
  2. 本实验在操作和实验结果记录的过程中,都采用了对比的方法,以实验前和经过需求处理后进行对比,突出表现操作需求的实验效果;
  3. 经过本实验,利用SQL代码实现并初步掌握了记录的OML操作,对于面向对象OML句型的进一步学习和深层次掌握的实验重点,也有了一定的认识;
  4. 面向对象数据库没有关系型数据库的主、外键,从理论体系上来说,逻辑层面较为简化。但是经过本实验似乎才发现,在SQL操作层面,但凡涉及对象表参照来说,往往要比关系型数据库复杂些许。

面向对象数据库设计与应用 04 - 数据表操作与查询

标签:有关   为什么   运行   pes   过程   enter   delete   oracl   where   

人气教程排行