Mysql 创建数据库、表以及约束

问题:

1.创建一个班级表t_class,有班级c_id(主键)、班级名称c_name(非空、唯一)、课程名称c_curriculum

2.创建一个学生表t_stu,有学生s_id(主键)、学生姓名s_name(非空)、学生年龄s_age、学生所在班级编号class_id(外键)

3.向班级表中插入四条数据

班级编号班级名称课程名称
1zls19961语文班
2zls19962语文班
3zls19971数学班
4zls19972数学班

4.向学生表中插入数据

学生编号学生姓名学生年龄学生所在班级编号
1张三201
2李四243
3王五352
4赵六284
5刘七321
6郑八252
7路让403
8独孤384
9空明254
10太乙182

5.统计每个班各有多少人

6.统计语文班一共多少人

7.统计数学班中年龄大于30岁的学生人数

8.删除语文班中姓刘的学生

解答:

1.创建一个班级表t_class,有班级c_id(主键)、班级名称c_name(非空、唯一)、课程名称c_curriculum

create table t_class
(
	c_id int primary key,
	c_name varchar(20) not null unique,
	c_curriculum varchar(30)
)charset utf8;

2.创建一个学生表t_stu,有学生s_id(主键)、学生姓名s_name(非空)、学生年龄s_age、学生所在班级编号class_id(外键)

create table t_stu
(
	s_id int primary key auto_increment,
	s_name varchar(20) not null,
	s_age int,
	class_id int,
	foreign key (class_id) references t_class (c_id)
)charset utf8;

3.向班级表中插入四条数据

班级编号班级名称课程名称
1zls19961语文班
2zls19962语文班
3zls19971数学班
4zls19972数学班
insert into t_class value(1,'zls19961','语文班');
insert into t_class value(2,'zls19962','语文班');
insert into t_class value(3,'zls19971','数学班');
insert into t_class value(4,'zls19972','数学班');

4.向学生表中插入数据

学生编号学生姓名学生年龄学生所在班级编号
1张三201
2李四243
3王五352
4赵六284
5刘七321
6郑八252
7路让403
8独孤384
9空明254
10太乙182
insert into t_stu value(null,'张三','20','1');
insert into t_stu value(null,'李四','24','3');
insert into t_stu value(null,'王五','35','2');
insert into t_stu value(null,'赵六','28','4');
insert into t_stu value(null,'刘七','32','1');
insert into t_stu value(null,'郑八','25','2');
insert into t_stu value(null,'路让','40','3');
insert into t_stu value(null,'独孤','38','4');
insert into t_stu value(null,'空明','25','4');
insert into t_stu value(null,'太乙','18','2');

  

5.统计每个班各有多少人

select class_id,count(s_id) from t_stu group by class_id;

6.统计语文班一共多少人

select c_curriculum,count(s_id)
from t_stu inner join t_class on class_id=c_id
where c_curriculum='语文班';

7.统计数学班中年龄大于30岁的学生人数

select c_curriculum,count(s_id)
from t_stu inner join t_class on class_id=c_id
where s_age>30 and c_curriculum='数学班';

  

8.删除语文班中姓刘的学生

delete t_stu from t_stu inner join t_class on class_id=c_id 
where s_name like '刘%' and c_curriculum='语文班';

  • 14
    点赞
  • 106
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值