diff --git a/2207/MySQL数据库操作综合练习题答案.md b/2207/MySQL数据库操作综合练习题答案.md index cf7272b..5f01ae7 100644 --- a/2207/MySQL数据库操作综合练习题答案.md +++ b/2207/MySQL数据库操作综合练习题答案.md @@ -327,6 +327,60 @@ WHERE t.depNo = d.depNo AND d.depName = '网络技术系'; ![image-20250315230015174](https://yp.smallkun.cn/markdown/image-20250315230015174.png!compress) ```sql +-- 创建数据库并设置字符集为 utf8mb4 +CREATE DATABASE test_student CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +USE test_student; + +-- 创建表 Classes +CREATE TABLE Classes ( + 专业 VARCHAR(50), + 班级 VARCHAR(50), + 姓名 VARCHAR(50), + 性别 VARCHAR(10), + 座位 INT +); + +-- 向表 Classes 插入数据 +INSERT INTO Classes (专业, 班级, 姓名, 性别, 座位) VALUES +('计算机网络', '1班', '张三', '男', 8), +('软件工程', '2班', '李四', '男', 12), +('计算机维护', '1班', '王五', '男', 9), +('计算机网络', '2班', 'LILY', '女', 15), +('软件工程', '1班', '小强', '男', 20), +('计算机维护', '1班', 'CoCo', '女', 18); + +-- 创建表 Score +CREATE TABLE Score ( + 姓名 VARCHAR(50), + 英语 INT, + 数学 INT, + 语文 INT +); + +-- 向表 Score 插入数据 +INSERT INTO Score (姓名, 英语, 数学, 语文) VALUES +('张三', 65, 75, 98), +('李四', 87, 45, 86), +('王五', 98, 85, 65), +('LILY', 75, 86, 87), +('小强', 85, 60, 58), +('CoCo', 96, 87, 70); + +-- 创建表 Records +CREATE TABLE Records ( + 姓名 VARCHAR(50), + 记录 VARCHAR(50) +); + +-- 向表 Records 插入数据 +INSERT INTO Records (姓名, 记录) VALUES +('小强', '迟到'), +('小强', '事假'), +('李四', '旷课'), +('李四', '旷课'), +('李四', '迟到'), +('CoCo', '病假'), +('LILY', '事假'); ``` ![image-20250315230025538](https://yp.smallkun.cn/markdown/image-20250315230025538.png!compress) @@ -341,6 +395,36 @@ WHERE t.depNo = d.depNo AND d.depName = '网络技术系'; ![image-20250315230057816](https://yp.smallkun.cn/markdown/image-20250315230057816.png!compress) ```sql +-- 创建数据库 test_xuankedb 并设置字符集为 utf8mb4 +CREATE DATABASE test_xuankedb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +USE test_xuankedb; + +-- 创建学生表 Student +CREATE TABLE Student ( + Sn0 VARCHAR(20) PRIMARY KEY, -- 学号,主键 + Sname VARCHAR(50), -- 姓名 + Ssex VARCHAR(10), -- 性别 + Sage INT, -- 年龄 + Sdept VARCHAR(50) -- 所在系 +); + +-- 创建课程表 Course +CREATE TABLE Course ( + Cn0 VARCHAR(20) PRIMARY KEY, -- 课程号,主键 + Cname VARCHAR(100), -- 课程名 + Cpn0 VARCHAR(20), -- 选修课号 + Ccredit INT -- 学分 +); + +-- 创建成绩表 SG +CREATE TABLE SG ( + Sn0 VARCHAR(20), -- 学号 + Cn0 VARCHAR(20), -- 课程号 + Grade INT, -- 成绩 + PRIMARY KEY (Sn0, Cn0), -- 复合主键 (学号, 课程号) + FOREIGN KEY (Sn0) REFERENCES Student(Sn0), -- 外键,引用 Student 表 + FOREIGN KEY (Cn0) REFERENCES Course(Cn0) -- 外键,引用 Course 表 +); ``` --- @@ -352,6 +436,51 @@ WHERE t.depNo = d.depNo AND d.depName = '网络技术系'; ![image-20250315230128412](https://yp.smallkun.cn/markdown/image-20250315230128412.png!compress) ```sql +-- 创建数据库 test_library 并设置字符集为 utf8mb4 +CREATE DATABASE test_library CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +USE test_library; + +-- 创建表 press(出版社) +CREATE TABLE press ( + pressid INT PRIMARY KEY, -- 出版社编号,主键 + pressname VARCHAR(100), -- 出版社名称 + address VARCHAR(100) -- 出版社地址 +); + +-- 创建表 sort(种类) +CREATE TABLE sort ( + sortno INT PRIMARY KEY, -- 种类编号,主键 + scount INT, -- 数量 + describes VARCHAR(100) -- 描述 +); + +-- 创建表 book(图书) +CREATE TABLE book ( + bid INT PRIMARY KEY, -- 图书编号,主键 + bname VARCHAR(100), -- 图书名称 + bsortno INT, -- 种类编号 + pressid INT, -- 出版社编号 + FOREIGN KEY (bsortno) REFERENCES sort(sortno), -- 外键,引用 sort 表 + FOREIGN KEY (pressid) REFERENCES press(pressid) -- 外键,引用 press 表 +); + +-- 向 press 表插入数据 +INSERT INTO press (pressid, pressname, address) VALUES +(100, '外研社', '上海'), +(101, '北大出版社', '北京'), +(102, '教育出版社', '北京'); + +-- 向 sort 表插入数据 +INSERT INTO sort (sortno, scount, describes) VALUES +(11, 50, '小说'), +(12, 100, '科幻'), +(13, 100, '神话'); + +-- 向 book 表插入数据 +INSERT INTO book (bid, bname, bsortno, pressid) VALUES +(1, '红与黑', 11, 100), +(2, '幻城', 12, 102), +(3, '希腊神话', 13, 102); ``` --- @@ -363,5 +492,38 @@ WHERE t.depNo = d.depNo AND d.depName = '网络技术系'; ![image-20250315230227129](https://yp.smallkun.cn/markdown/image-20250315230227129.png!compress) ```sql +-- 创建数据库 test_tour 并设置字符集为 utf8mb4 +CREATE DATABASE test_tour CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +USE test_tour; + +-- 创建表 agency(旅行社表) +CREATE TABLE agency ( + id INT PRIMARY KEY, -- 旅行社编号,主键 + name VARCHAR(100) NOT NULL, -- 旅行社名 + address VARCHAR(100) NOT NULL, -- 旅行社地址 + areaid INT -- 所属区域编号 +); + +-- 创建表 travel(旅行线路表) +CREATE TABLE travel ( + tid INT PRIMARY KEY, -- 旅行线路编号,主键 + time VARCHAR(50) NOT NULL, -- 所需时间 + position VARCHAR(100) NOT NULL, -- 目的地 + money FLOAT, -- 花费 + aid INT NOT NULL, -- 所属旅行社编号 + count INT, -- 报名人数 + FOREIGN KEY (aid) REFERENCES agency(id) -- 外键,引用 agency 表 +); + +-- 向 agency 表插入数据 +INSERT INTO agency (id, name, address) VALUES +(101, '青年旅行社', '北京海淀'), +(102, '天天旅行社', '天津海院'); + +-- 向 travel 表插入数据 +INSERT INTO travel (tid, time, position, money, aid, count) VALUES +(1, '5天', '八达岭', 3000, 101, 10), +(2, '7天', '水长城', 5000, 101, 14), +(3, '8天', '水长城', 6000, 102, 11); ```