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 部门最高薪资$
相关推荐
Flying pigs~~14 小时前
RAG智慧问答项目
数据库·人工智能·缓存·微调·知识库·rag
misL NITL14 小时前
mysql之如何获知版本
数据库·mysql
许彰午15 小时前
CacheSQL(二):主从复制——OpLog 环形缓冲区与故障自动恢复
java·数据库·缓存
2401_8323655215 小时前
JavaScript中rest参数(...args)取代arguments的优势
jvm·数据库·python
2301_7796224116 小时前
Go语言怎么用信号量控制并发_Go语言semaphore信号量教程【入门】
jvm·数据库·python
2301_7662834416 小时前
c++如何将控制台输出保存到文件_cout重定向到txt【详解】
jvm·数据库·python
北极的冰箱16 小时前
MySQL Ver 8.0.41 for macos14.7密码遗忘
数据库·mysql
XDH_CS17 小时前
MySQL 8.0 安装与 MySQL Workbench 使用全流程(超详细教程)
开发语言·数据库·mysql
秋917 小时前
MySQL 8.0.46 全平台安装与配置详解(Windows/Linux/macOS)
linux·windows·mysql
treacle田17 小时前
达梦数据库-统计信息收集-记录
数据库·达梦数据库统计信息收集