mysql代码小练-3

第一题:

学生表:Student (Sno, Sname, Ssex , Sage, Sdept)

学号,姓名,性别,年龄,所在系 Sno为主键
课程表:Course (Cno, Cname,)
课程号,课程名 Cno为主键
学生选课表:SC (Sno, Cno, Score)
学号,课程号,成绩 Sno,Cno为主键
1.用SQL语句创建学生表student,定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是 "计算机"。

sql 复制代码
create table student (sno char (10) primary key,sname varchar (20) not null unique,ssex char (2) check (ssex in (' 男 ', ' 女 ')),sage int,sdept varchar (30) default ' 计算机 ');

2.修改student 表中年龄(age)字段属性,数据类型由int 改变为smallint。

sql 复制代码
alter table student modify column sage smallint;

3.为SC表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为SC_INDEX 。

sql 复制代码
create table sc (sno char(10),cno char(4),score decimal(5,1),primary key (sno, cno));

create unique index sc_index on sc (sno asc, cno asc);

create table course(cons char(4) primary key, cname varchar(255) not null);

4.创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩。

sql 复制代码
create view stu_info as
     select
         s.sname as 姓名,
         s.ssex as 性别,
         c.cname as 课程名,
         sc.score as 成绩
     from student s
     left join sc sc on s.sno = sc.sno
     left join course c on sc.cno = c.cons;

第二题

1、创建一个存储过程avg_sal_a,有2个参数,分别是部门名称dept_name及接收平均工资,

sql 复制代码
 create procedure avg_sal_a(
     in dept_name varchar(255),
     out a decimal(10,2))
     begin
     select avg(e.salary) into a from employee e
     join department d on e.department_no = d.number
     where d.name = dept_name;
     end $

其中部门名称测试参数为上海中心,接收平均薪资变量为@a。
2、创建存储过程,给定参数员工姓名,查询该员工名所在部门的最高薪资,并返回给变量@a;

sql 复制代码
    
set @a = 0$


 call get_dept_max_sal('吴所为', @a);


select @a as 部门最高薪资$
相关推荐
誰能久伴不乏14 分钟前
桌面客户端的运行日志系统:SQLite 分块 + 独立写线程 + 文本降级
数据库·c++·qt·架构·sqlite
2401_896732137 小时前
MySQL小笔记
mysql
程序员清风8 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
正在走向自律9 小时前
数据集成产品的技术底座:从日志解析原理到 KFS 同步链路搭建(含建表与增删改查完整代码)
数据库·oracle·信创·数据集成·国产数据库·kingbasees·全量+增量同步
程序员塔塔喵9 小时前
【MySQL篇|第七篇】MySQL事务
数据库·mysql·mysql事务
独隅10 小时前
Claude API 实战教程:从入门到完整项目
android·java·数据库·claude·claude code
_孤傲_10 小时前
快速掌握 MySQL 语法
数据库·后端·mysql
数字新视界11 小时前
一体化机柜在数据中心运维中的创新应用与优势分析
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
SelectDB12 小时前
从 StarRocks 走向 Apache Doris:如何实现引擎平滑替换与架构升级?
大数据·数据库·数据分析
为思念酝酿的痛12 小时前
MySQL的操作
数据库·mysql