SQL作业

本文通过一系列的MySQL操作,包括创建数据库、显示数据库、创建及修改表、插入数据、查询数据等,展示了数据库的基本操作流程。同时,对教师和课程表进行了详细的数据操作,如计算女性教师数量、查询特定条件的记录等,深入探讨了SQL查询技巧。
摘要由CSDN通过智能技术生成

在这里插入图片描述

作业一

-- 创建 mytest 数据库

-- 显示当前所有数据库

-- 显示当前使用数据库

-- 使用 mytest

-- 展示该数据库所有表

-- 创建 Teacher 表 且拥有字段:教师编号tid(主键) 姓名name 年龄age(默认30) 性别gender(,)

-- 查看	Teacher 表结构

-- 创建 Course 表 且拥有字段:课程编号cid(主键) 课程名称cname 教师编号tid

-- 查看 course 表结构

-- 修改 teacher 表的 姓名字段 name 为 tname

-- 查看 teacher 表数据

-- 为 teacher 表插入数据

-- 为 course 表插入数据

-- 查看 course 表数据

-- 求 teacher 表的 女性总数

-- 查询 course 表中 tid 为 3 的个数

-- 查询 teacher 表中 tid 为 3 的老师姓名

-- 查询 老师年龄在 26-30 的 姓名

-- 查询 名字为 j 开头的 老师信息

可参考表结构:
teacher表
在这里插入图片描述
course表
在这里插入图片描述
可参考表数据:
teacher表
在这里插入图片描述
course表
在这里插入图片描述

作业二

-- 查询老师男女总数

-- 查询老师男女总数大于2的具体姓名,年龄

-- 查询老师的 年龄 在18-30岁的男性 年龄进行升序,当年龄相同时,按照id降序。

-- 取出2-3条数据

-- 查询 各老师 所带的课程

-- 查询最大年龄男老师 的 姓名

第一题答案

-- 创建 mytest 数据库
CREATE DATABASE mytest;
-- 显示当前所有数据库
SHOW DATABASES;
-- 显示当前使用数据库
SELECT DATABASE();
-- 使用 mytest
USE mytest;
-- 展示该数据库所有表
SHOW TABLES;
-- 创建 Teacher 表 且拥有字段:教师编号tid(主键) 姓名name 年龄age(默认30) 性别gender(,)
CREATE TABLE Teacher(
tid INT PRIMARY KEY,
NAME VARCHAR(20),
age INT DEFAULT 30,
gender ENUM('男','女')
);
-- 查看	Teacher 表结构
DESC teacher;
-- 创建 Course 表 且拥有字段:课程编号cid(主键) 课程名称cname 教师编号tid
CREATE TABLE Course(
cid INT PRIMARY KEY,
cname VARCHAR(20),
tid INT
);
-- 查看 course 表结构
DESC course;
-- 修改 teacher 表的 姓名字段 name 为 tname
ALTER TABLE teacher CHANGE NAME tname VARCHAR(20);
-- 查看 teacher 表数据
SELECT * FROM teacher;
-- 为 teacher 表插入数据
INSERT INTO teacher VALUE (101,'Jeff',21,'1'),(102,'Amy',18,'2'),(103,'mark',30,'1');
-- 为 course 表插入数据
INSERT INTO course VALUE (111,'数学',112),(211,'英语',212),(311,'语文',313);
-- 查看 course 表数据
SELECT * FROM course;
-- 求 teacher 表的 女性总数
SELECT COUNT(*) FROM teacher WHERE gender=2;
-- 查询 course 表中 tid 为 3 的个数
SELECT COUNT(*) FROM course WHERE tid=3;
-- 查询 teacher 表中 tid 为 3 的老师姓名
SELECT tname FROM teacher WHERE tid=3;
-- 查询 老师年龄在 26-30 的 姓名
SELECT tname FROM teacher WHERE age BETWEEN 23 AND 30;
-- 查询 名字为 j 开头的 老师信息
SELECT * FROM teacher WHERE tname LIKE 'j%';

第二题答案

-- 查询老师男女总数
SELECT COUNT(*) FROM teacher WHERE gender BETWEEN 1 AND 2;
-- 查询老师男女总数大于2的具体姓名,年龄
SELECT gender,GROUP_CONCAT(tNAME,':',age) FROM teacher GROUP BY gender HAVING COUNT(*)>2;
`mytest`-- 查询老师的 年龄 在18-30岁的男性 年龄进行升序,当年龄相同时,按照id降序。
-- 取出2-3条数据
SELECT * FROM teacher LIMIT 0,3;
-- 查询 各老师 所带的课程
SELECT t.tid,t.tname,c.cname FROM teacher t LEFT JOIN course c ON t.tid=c.tid; 
-- 查询最大年龄男老师 的 姓名
SELECT tname FROM teacher WHERE age=(SELECT MAX(age) FROM teacher WHERE gender=1);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值