第一题
/*
订单表
*/
CREATE TABLE `order`(
`orderId` VARCHAR(255)COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '订单编号',
`orderNanme` VARCHAR(255)COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '商品名称',
`sale` DECIMAL(10,2)COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '商品销售价',
`name` VARCHAR(255)COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '客户姓名',
`gender` ENUM('男','女')COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '客户性别',
`address` VARCHAR(255)COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '客户地址',
`date` date DEFAULT NULL COMMENT '送货日期',
`install date` date DEFAULT NULL COMMENT '安装日期',
PRIMARY KEY (`orderId`),
UNIQUE KEY `U_ORDER_ID` (`orderId`) USING BTREE) -- 给 orderId建立一个名叫U_ORDER_ID的唯一索引,索引类型是BTREE
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT '订单表';
/*
向表中插入两条数据
*/
INSERT INTO `order` VALUES('y0101202009019875','煤气灶',251.00 ,'李四','男','杭州', '2021-04-04', '2020-04-05');
INSERT INTO `order` VALUES('y0101202009019876','电暖气',351.00 ,'李四四','女','杭州', '2021-04-04', '2020-04-05');
第二题
/*
房客表建表语句
*/
CREATE TABLE `guest`(
`guest_Number`INT(30)NOT NULL COMMENT '客人编号',
`guest_Nanme` VARCHAR(255)DEFAULT NULL COMMENT '客人名称',
`guest_gender` ENUM('男','女') COMMENT '性别',
`guest_Id` VARCHAR(255) DEFAULT NULL COMMENT '身份证号',
`deposit` DECIMAL(10,2) NOT NULL COMMENT '押金',
`date1` date DEFAULT NULL COMMENT '入住时间',
`date2` date DEFAULT NULL COMMENT '结账时间',
`guest_amount`DECIMAL(10,2) NOT NULL COMMENT '总金额',
`room_Number`INT(30)NOT NULL COMMENT '客房号', -- 体现房客表与客房表一对一
PRIMARY KEY (`guest_Number`),
UNIQUE KEY `U_ORDER_ID` (`guest_Number`)) -- 字段建立唯一索引
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT'房客表' ;
/*
客房表建表语句
*/
CREATE TABLE `room`(
`room_Number`INT(30)NOT NULL COMMENT '客房号',
`room_Type` ENUM('双人间','单人间') DEFAULT NULL COMMENT '客房类型',
`room_State` VARCHAR(255) DEFAULT NULL COMMENT '客房状态',
`room_People` INT DEFAULT NULL COMMENT '入住人数',
`room_Price` DECIMAL(10,2) DEFAULT NULL COMMENT '单价',
`room_rooms` ENUM('1','2') COMMENT '房间数',
`room_amount`DECIMAL(10,2) DEFAULT NULL COMMENT '总金额',
PRIMARY KEY (`room_Number`),
UNIQUE KEY `U_ROOM_NUMBER` (`room_Number`)) -- 字段建立唯一索引
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT'客房表' ;
/*
房客入住表建表语句
*/
CREATE TABLE `room_live`(
`id` int(255) NOT NULL AUTO_INCREMENT COMMENT '主键',
`guest_Number`INT(30)NOT NULL COMMENT '客人编号', -- 体现房客表和客房表 与 房客入住表 多对一或一对多
`room_Number`INT(30)NOT NULL COMMENT '客房号', -- 体现房客表和客房表 与 房客入住表 多对一或一对多
PRIMARY KEY (`id`),
UNIQUE KEY `U_LIVE_ID` (`id`)) -- 字段建立唯一索引
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT'房客入住表' ;
/*
插入房客数据
*/
INSERT INTO `guest`VALUES(
1,'张三','男','310xxxxxxxxxxxxxxx',100.00,'2021-4-4','2021-4-5',60.00,1),
(2,'李四四','女','311xxxxxxxxxxxxxxx',100.00,'2021-4-4','2021-4-5',100.00,2),
(3,'王五','男','312xxxxxxxxxxxxxxx',100.00,'2021-4-4','2021-4-5',60.00,1),
(4,'赵六','男','313xxxxxxxxxxxxxxx',100.00,'2021-4-4','2021-4-5',60.00,1),
(5,'张八','男','314xxxxxxxxxxxxxxx',100.00,'2021-4-4','2021-4-5',60.00,1
);
/*
插入客房数据
*/
INSERT INTO `room` VALUES(
1,'单人间','已入住',1 ,80.00,1,80.00),
(2,'双人间','已入住',4 ,60.00,2,60*4 -- 60一间,4个人240
);
/*
插入房客表入住表数据
*/
INSERT INTO `room_live` VALUES(
1,1,1),
(2,2,2),
(3,3,1),
(4,4,1),
(5,5,1
);
/*
查看房客表中数据
*/
SELECT * FROM `guest`;
/*
查看客房表中数据
*/
SELECT * FROM `room`;
/*
查看房客入住表中数据
*/
SELECT * FROM `room_live`;
第三题
/*
学生表建表语句
*/
CREATE TABLE `student`(
`student_id` INT(11) NOT NULL COMMENT '学号',
`student_naem` VARCHAR(255) NOT NULL COMMENT '学生姓名',
`student_gender` ENUM('男','女') NOT NULL COMMENT '学生性别',
`department_name` VARCHAR(255) NOT NULL COMMENT '系名',
PRIMARY KEY (`student_id`),
UNIQUE KEY `U_STUDENTI_ID` (`student_id`))
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT'学生表' ;
/*
院系表建表语句
*/
CREATE TABLE `department`(
`department_name` VARCHAR(255) NOT NULL COMMENT '系名',
`department_director` VARCHAR(255) NOT NULL COMMENT '系主任',
PRIMARY KEY (`department_name`))
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT'院系表';
/*
学生成绩表建表语句
*/
CREATE TABLE `score`(
`student_id` INT(11) NOT NULL COMMENT '学号',
`student_name` VARCHAR(255) NOT NULL COMMENT '学生姓名',
`student_score` DECIMAL(4,2) NOT NULL COMMENT '学生成绩',
PRIMARY KEY (`student_id`,`student_name`)) -- 建立学号和学生姓名的联合主键
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT'学生成绩表';
/*
向学生表插入数据
*/
INSERT INTO `student` VALUES(
20200401,'李小四','男','计科系'),
(20200402,'张小兰','女','计科系'),
(20200403,'王帅八','男','法律系'),
(20200404,'李小四','男','法律系'
);
/*
向院系表插入数据
*/
INSERT INTO `department` VALUES(
'计科系','张宝'),
('法律系','刘德'
);
/*
向学生成绩表插入数据
*/
INSERT INTO `score` VALUES(
20200401,'高等数学',89),
(20200401,'大学英语',90),
(20200401,'微机原理',99),
(20200402,'高等数学',89),
(20200402,'大学英语',90),
(20200402,'线性代数',99),
(20200403,'高等数学',89),
(20200403,'法律基础',98),
(20200404,'大学英语',90),
(20200404,'法律基础',99
);
/*
查看学生表数据
*/
SELECT * FROM `student`;
/*
查看院系表数据
*/
SELECT * FROM `department`;
/*
查看学生成绩表数据
*/
SELECT * FROM `score`;