数据库的大题一些练习

这是一系列关于SQL数据库操作的题目,涉及创建表、更新数据、查询、触发器和视图的创建等。题目涵盖了商品供应、顾客订单、进销存、选课管理系统等多个场景,要求使用SQL完成特定操作,如查询特定日期的订单信息、更改商品名称、调整余额不足的订单日期、删除订单记录、管理库存和商品信息等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有一个关于商品供应及顾客订单的数据库。其中包括四个表,表中信息如下: 供应表apply(id、name、sid、price) 说明:id 供应厂家编号,name 供应厂家名称,sid 商品编号,price 商品价格。 顾客表customers(gid、name、address、balance) 说明:gid 顾客编号,address 地址,balance 余额。 订单表orders(sid、gid、date) 说明:sid 商品编号,gid 顾客编号,date 订单日期。 商品表goods(sid、name、count) 说明:sid 商品编号,name 商品名称,count 商品数量 写出SQL完成如下操作的SQL语句:

1)查询出2008-8-8这一天顾客的订单信息,要求包括顾客姓名、商品名称及订单日期.

2)将商品表中商品编号为'204'的商品名称更改为百事可乐

3)将顾客表上余额不足1000元的,将其订单日期延后10天

4) 删除订单表中商品编号为102的订单记录 5)将商品表中没有顾客订购的商品信息删除

学生答案: 

1.select*fromcustomerswherecustomers.gid=orders.gidanddate="2008-8-8"

2.updategoodssetsid=’百事可乐’wheresid=’204’;

3.selectbalanceDATE_ADD(NOW(),INTERVAL10day)fromcustomerswherebalance<1000;

4.deletefromorderswheresid=’102’;

10

已知进销存数据库Jxcxt包含如下数据表: 1)商品表:商品id(自增1), 商品名称, 单位, 单价, 商品状态 2)库存表:库存id(自增1), 商品id, 库存数量  请完成如下操作的SQL语句,表名和列名必须和上面的一致:

1、创建以上两个表的SQL语句;

2、在商品表上创建一个触发器(名字自定),当删除商品时自动删除该商品在库存表中的记录。

学生答案: 

  1. CREATETABLE商品表(商品idINTNOTNULLAUTO_INCREMENTPRIMARYKEY,商品名称VARCHAR(20)NOTNULL,单位VARCHAR(10),单价DOUBLE,商品状态VARCHAR(10));
  2. CREATETABLE库存表(库存idINTNOTNULLAUTO_INCREMENTPRIMARYKEY,商品idINTNOTNULL,库存数量INT,FOREIGNKEY(商品id)REFERENCES商品表(商品id));2>CREATETRIGGERdelChainBEFOREDELETEON商品表FOREACHROWDELETEFROM库存表WHERE商品id=old.商品id;

10

已知选课管理系统Xkglxt包含如下数据表: 1)学生表: 学生id, 学号, 姓名, 专业, 年级, 姓名拼音缩写 2)课程表: 课程id, 课程名称, 学分   3)选课表: 选课id, 学生id, 课程id, 成绩  请完成如下操作的SQL语句,表名和列名必须和上面的一致:

1、创建以上三个表的SQL语句;

2、创建视图 V_选课,其中包含这些字段: 选课id, 学号, 姓名, 课程名, 成绩;

 3、查询张三的数据开发技术课程的成绩。

学生答案: 

1.学生表:CREATETABLEstudent(xsidINTPRIMARYKEY,xhVARCHAR(13),xmVARCHAR(5),zyVARCHAR(10),njCHAR(2),xmpysxVARCHAR(5))CHARSET=utf8;课程表:CREATETABLEcourse(kcidINTPRIMARYKEY,kcmcVARCHAR(9),xfSMALLINT)CHARSET=utf8;选课表:CREATETABLEsc(xkidINTPRIMARYKEY,xsidINT,kcidINT,gradeDOUBLE(3,2),FOREIGNKEY(xsid)REFERENCESstudent(xsid),FOREIGNKEY(kcid)REFERENCEScourse(kcid))CHARSET=utf8;

2.CREATEVIEWv_选课ASSELECTs.xkid,st.xh,st.xm,c.kcmc,s.gradeFROMscsINNERJOINstudentstONs.xsid=st.xsidINNERJOINcoursecONc.kcid=s.kcid;

10

已知选课管理系统Xkglxt包含如下数据表: 1)学生表: 学生id, 学号, 姓名, 专业, 年级, 姓名拼音缩写 2)课程表: 课程id, 课程名称, 学分   3)选课表: 选课id, 学生id, 课程id, 成绩 系统已建有getstrpy(p_name VARCHAR(100))用户自定义函数。  请完成如下操作的SQL语句,表名和列名必须和上面的一致: 1、创建以上三个表的SQL语句; 2、创建一个存储过程(名字自定),实现学生表的插入,姓名拼音缩写需要调用getstrpy函数实现。

学生答案: CREATEDATABASExkglxt;CREATETABLE学生表(学生idCHAR(4)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值