有一个关于商品供应及顾客订单的数据库。其中包括四个表,表中信息如下:供应表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’;
已知进销存数据库Jxext包含如下数据表: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;
已知选课管理系统Xkglxt包含如下数据表:1)学生表:学生id,学号,姓名,专业,年级,姓名拼音缩写2)课程表:课程id,课程名称,学分 3)选课表:选课id,学生id,课程id,成绩请完成如下操作的SQL语句,表名和列名必须和上面的一致:
1、创建以上三个表的SQL语句;
2、创建视图V_选课,其中包含这些字段:选课 id,学号,姓名,课程名,成绩;
3、查询张三的数据开发技术课程的成绩。
学生答案:
1.学生表:
CREATETABLEstudent(xsidINTPRIMARYKEY,xhVARCHAR(13),xmVARCHAR(5),zyVARC HAR(10),njCHAR(2),xmpysxVARCHAR(5))CHARSET=utf8;课程表:
CREATETABLEcourse(kcidINTPRIMARYKEY,kcmcVARCHAR(9),xfSMALLINT)CHARSET =utf8;选课表:
CREATETABLEsc(xkidINTPRIMARYKEY,xsidINT,kcidINT,gradeDOUBLE(3,2),FOREIGNKE Y(xsid)REFERENCESstudent(xsid),FOREIGNKEY(kcid)REFERENCEScourse(kcid))CHARSE T=utf8;
2.CREATEVIEWv_选课
ASSELECTs. xkid, st. xh, st. xm,c. kcmc,s. gradeFROMscsINNERJOINstudentstONs. xsid=st. xsidIN NERJOINcoursecONc. kcid=s. kcid;
已知选课管理系统Xkglxt包含如下数据表:1)学生表:学生id,学号,姓名,专业,年级,姓名拼音缩写2)课程表:课程id,课程名称,学分 3)选课表:选课id,学生id,课程id,成绩系统已建有 getstrpy(p_name VARCHAR(100))用户自定义函数。请完成如下操作的SQL语句,表名和列名必须和上面的一致:1、创建以上三个表的SQL语句;2、创建一个存储过程(名字自定),实现学生表的插入,姓名拼音缩写需要调用getstrpy函数实现。
学生答案:CREATEDATABASExkglxt;CREATETABLE学生表(学生
idCHAR(4)PRIMARYKEY,学号CHAR(4),姓名CHAR(4),专业CHAR(4),年级CHAR(4),姓名拼音缩写CHAR(8))CHARSET=utf8;CREATETABLE课程表(课程idCHAR(4)PRIMARYKEY,课程名称CHAR(10),学分CHAR(4))CHARSET=utf8;CREATETABLE选课表(选课idCHAR(4)PRIMARYKEY,学生idCHAR(4),课程idCHAR(4),成绩INT,FOREIGNKEY(学生id)REFERENCES学生表(学生id),FOREIGNKEY(课程id)REFERENCES课程表(课程id))CHARSET=utf8;SELECT学号,姓名,专业,年级FROM学生表,课程表WHERE学分>=100;
已知选课管理系统Xkglxt包含如下数据表和自定义函数(函数已定义好可直接使用):1)学生表:学生id,学号,姓名,专业,年级,姓名拼音缩写2)自定义函数拼音缩写查询:pysx('中文字符串')返回该中文字符串的拼音缩写 请完成如下操作的SQL语句,表名和列名必须和上面的一致:
1、创建选课管理系统数据库以及学生表的SQL语句;
2、在学生表上创建一个触发器(名字自定),当新增学生时自动处理姓名拼音缩写。
学生答案:
1、CREATEDATABASEXkglxtCHARSETutf8;CREATETABLE学生(学生idINTPRIMARYKEY, 学号INT,专业VARCHAR(30),年纪INT,姓名VARCHAR(30),姓名拼音缩写VARCHAR(30));2DELIMITER$SCREATETRIGGERmytriggerAFTERINSERTON学生
FOREACHROWBEGININSERTINTO学生(姓名拼音缩写)VALUES(pysx(new.姓名));END$$DELIMITER;
已知产品销售数据库cpxs包含如下数据表:1)产品表:产品编号,产品名称,价格,库存量。2)销售商表:客户编号,客户名称,地区,负责人,电话。3)产品销售表:销售日期,产品编号,客户编号,数量,销售额。写出SQL完成如下操作的SQL语句:
1.写出产品表的建表语句
2.向产品表中插入如下记录:0001空调30002000002冰箱2500300
3.将产品表中每种商品价格打八折后进行显示
4.查找价格在2000到2900之间的产品名称。5.在产品销售表上创建“冰箱”产品表的视图bxcp
学生答案:
1、CREATETABLE产品表(产品编号char(4)PRIMARYKEY,产品名称
VARCHAR(20)NOTNULL,价格float(7,2),库存量int(5));CREATETABLE 销售商表(客户编号char(5)PRIMARYKEY,客户名称VARCHAR(20)NOTNULL,地区VARCHAR(10),负责人VARCHAR(10),电话VARCHAR(11));CREATETABLE产品销售表(销售日期date,产品编号char(4),客户编号char(5),数量int,销售额float(8,2));
2、insertinto产品表values(’0001’,’空调’,3000,200);insertinto产品表values(’0002’,’冰箱’,2500,300);
3、update 产品表set价格=价格*0.8;
4、select产品名称from产品表where价格between2000and2900;5、createviewbxcpasselect*from 产品表where 产品名称=冰箱withcheckoption;