~~~~~~
已知产品销售数据库cpxs包含如下数据表:
1)产品表:产品编号,产品名称,价格,库存量。
2)销售商表:客户编号,客户名称,地区,负责人,电话。
3)产品销售表:销售日期,产品编号,客户编号,数量,销售额。
写出SQL完成如下操作的SQL语句:
1.写出产品表的建表语句
1、 2.向产品表中插入如下记录:
0001 空调 3000 200
0002 冰箱 2500 300
3.将产品表中每种商品价格打八折后进行显示
4.查找价格在2000到2900之间的产品名称。
5.在产品销售表上创建“冰箱”产品表的视图bxcp
(1)
CREATE TABLE cp(
id INT PRIMARY KEY,
NAME VARCHAR(20),
val DOUBLE,
cnt INT DEFAULT 0
);
(2)
INSERT INTO cp VALUES(0001,'空调'3000,200);
INSERT INTO cp VALUES(0002,"冰箱'2500,300);
(3)
SELECT id, NAME,val*0.8 AS VALUE,cnt FROM cp;
(4)
SELECT NAME FROM cp WHERE val>=2000 AND val<=3000;
(5)
CREATE VIEW bingxiang AS (SELECT cpxs.* FROM cp,cpxs WHERE cp.id=cpxs.id AND cp.name="冰箱");
~~~~~~~
已知进销存数据库Jxcxt包含如下数据表:
1)商品表:商品id(自增1),商品名称、单位、单价, 商品状态
2)库存表:库存id(自增1),商品id,库存数量
2、
请完成如下操作的SQL语句,表名和列名必须和上面的一致:
1、创建以上两个表的SQL语句;
2、在商品表上创建一个触发器(名字自定),当新增商品时自动在库存表中插入该商品的库存信息(库存数量为0)。
(1)
CREATE TABLE sp(
id INT AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(20),
dw VARCHAR(10),
val DOUBLE,
STATUS INT
);
CREATE TABLE kc(
id INT AUTO_INCREMENT PRIMARY KEY,
spid INT,
cnt INT
);
(2)
DELIMITER $$
CREATE TRIGGER adds AFTER INSERT ON sp FOR EACH ROW
BEGIN
DECLARE cnt1 INT;
DECLARE cnt2 INT;
SELECT COUNT(*) INTO cnt1 FROM sp WHERE NAME=new.name;/*查询该商品的数量*/
IF cnt1=1 THEN
SELECT id INTO cnt2 FROM sp WHERE NAME=new.name;/*查询该商品的id*/INSERT INTO kc(spid,cnt) VALUES(cnt2,0);
END IF;
END$$
DELIMITER ;
~~~~~~
已知进销存数据库Jxcxt包含如下数据表:
1)商品表:商品id, 商品名称,单位,单价,商品状态
2)库存表:库存id, 商品id, 库存数量
3、
请完成如下操作的SQL语句,表名和列名必须和上面的一致:
1、创建以上两个表的SQL语句;
2、创建一个存储过程(名字自定),实现商品表的的插入,需要判断当前商品名称是否存在。
(1)
与上一问相同,不做赘述
(2)
DELIMITER $$
CREATE PROCEDURE addsp(IN NAME VARCHAR(20),IN dw VARCHAR(10),IN val DOUBLE,IN STATUS INT)
BEGIN
DECLARE cnt INT DEFAULT 0;
SELECT COUNT(*) INTO cnt FROM sp WHERE sp.name=NAME;/*判断当前名称商品是否存在*/
IF cnt=0 THEN
INSERT INTO sp(NAME,dw,val,STATUS) VALUES(NAME,dw,val,STATUS); END IF;
END $$
~~~~~~
已知选课管理系统Xkglxt包含如下数据表:
1)学生表: 学生id, 学号,姓名,专业, 年级, 姓名拼音缩写
2)课程表:课程id, 课程名称,学分
3)选课表: 选课id, 学生id,课程id, 成绩
4、
请完成如下操作的SQL语句,表名和列名必须和上面的一致:
1、创建以上三个表的SQL语句;
2、创建视图V_选课,其中包含这些字段:选课id,学号,姓名,课程名,成绩;
3、查询张三的数据开发技术课程的成绩。
(1)
CREATE TABLE xs(
id INT PRIMARY KEY,
xh VARCHAR(20),
NAME VARCHAR(20),
zy VARCHAR(30),
grade VARCHAR(10),
sx VARCHAR(20)
);
CREATE TABLE kc(
id INT PRIMARY KEY,
NAME VARCHAR(30),
grade DOUBLE
);
CREATE TABLE xk(
id INT PRIMARY KEY,
xsid INT,
kcid INT,
grade DOUBLE
);
(2)
CREATE VIEW v_xK AS (SELECT xk.'id',xs.'sx`,xs.'name` AS xsname,kc.'name',xk. `grade` FROM xs,kc,xk WHERE xs. 'id`=xk.xsid' AND kc. id'=xk.'kcid` and xk.'name'='数据开发技术);/*注意一下学生姓名和课程姓名中的一个需要重命名*/
(3)
SELECT xk.`grade`FROM xk WHERE xsid=(SELECT xs. id' FROM xs WHERE NAME="张三") AND xk.'kcid`=(SELECT kc.'id'FROM kc WHERE kc.'name`='数据开发技术);/*注意子查询书写即可*/
~~~~~~
按照要求,完成以下操作。
要求需要有以下二个表:
1xranb(联系人表)其字段为(联系人编号、姓名、联系电话、家庭地址)。
4/6 通话开始时间、通知结束时间、通话类别、通话状态),
(短信记录编号、联系人编号、接发时间、短信内容、短信类别)。
请在MYSQL下建立这个数据库,数据库名为:TXLSJK。字段名以及字段数据类型可自拟。
2、在联系人表中插入以下5条记录:
(1、生敏红,15882155608 河南次阴市中学数;)
(2,张花莉,18953991767,河南洛阳市武汉路2号)
1、 (3,梁宝丽,13752317719,河南洛阳市大学路3号)
河南洛阳市大学路5号)
(1.1,当前系统时间,你的书已到请速来领取,1)
更新联系人编号为4的联系人电话为13938801001
依据联系人表和短信记录表建立视图:_1xren_dxj1b(联系人编号、姓名、短信内容、短信类别)
一个触发器,当删除联系人时,删除该联系人的通话记录和短信记录
8、备份数据库的结构和数据,导出SQL文件名为:txl_sjk.sql。
9、将txl_sjk.sql上传至服务器。
(1)
CREATE TABLE Ixrenb(
id INT PRIMARY KEY,
NAME VARCHAR(20),
phone VARCHAR(20),
address VARCHAR(30)
);
CREATE TABLE txilb(
id INT PRIMARY KEY AUTO_INCREMENT,
Ixrid INT,
start_time DATETIME,
end_time DATETIME,
Ib INT,
STATUS INT
);
CREATE TABLE dxjlb(
id INT PRIMARY KEY AUTO_INCREMENT,
Ixrid INT,
times DATETIME,
TEXT VARCHAR(300),
STATUS INT
);
(2)
INSERT INTO Ixrenb VALUES(1,'朱敏红','15857455696',河南洛阳市中学路1号);INSERT INTO Ixrenb VALUES(2,'张花莉','18953991767',河南洛阳市武汉路2号);INSERT INTO Ixrenb VALUES(3,梁宝丽','13752317719',河南洛阳市大学路3号);INSERT INTO lxrenb VALUES(4,'王保志'13057676112',河南洛阳市大学路4号);INSERT INTO lxrenb VALUES(5,'李君江','13752309239','河南洛阳市大学路5号);
(3)
INSERT INTO dxilb VALUES(1,1,SYSDATE(0,你的书已到请速来领取;1);
(4)
UPDATE xrenb SET phone='13938801001' WHERE id=4;
(5)
ALTER TABLE Ixrenb ADD INDEX idx_1 (id);
ALTER TABLE Ixrenb ADD INDEX idx_2 (phone
(6)
CREATE VIEW view1 AS (SELECT Ixrenb.'id`,lxrenb.'name`,dxilb.'text',dxilb.'status