一,建表
1,-- 创建学生表 Student
定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是 “计算机”。
CREATE TABLE Student(
Sno varchar(20) CHARACTER NOT NULL,
Sname varchar(20) CHARACTER UNIQUE DEFAULT NULL,
Ssex enum('男','女') CHARACTER NOT NULL DEFAULT '男',
Sage varchar(20) CHARACTER ,
Sdept varchar(20) CHARACTER DEFAULT '计算机' ,
PRIMARY KEY (`Sno`) USING BTREE
)
2,-- 创建课程表 Course
CREATE TABLE Course(
Cno char(10) NOT NULL,
Cname varchar(100) NULL,
PRIMARY KEY (`Cno`)
);
3,-- 创建学生选课表 SC
CREATE TABLE SC (
Sno CHAR(10),
Cno CHAR(10),
Score DECIMAL(5,2),
FOREIGN KEY (Sno) REFERENCES Student(Sno),
FOREIGN KEY (Cno) REFERENCES Course(Cno)
);
二,表操作
1,修改student 表中年龄(age)字段属性,数据类型由int 改变为smallint。
ALTER TABLE student
MODIFY COLUMN Sage SMALLINT;
2.创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩。
CREATE VIEW stu_info AS
SELECT
s.Sname AS student_name,
s.Ssex AS student_gender,
c.Cname,
e.Score
FROM
student s
JOIN
sc e ON s.Sno = e.Sno
JOIN
course c ON e.Cno = c.Cno;
三,存储操作
1、创建一个存储过程avg_sal_a,有2个参数,分别是部门名称dept_name及接收平均工资,
其中部门名称测试参数为上海中心,接收平均薪资变量为@a。
2,创建存储过程,给定参数员工姓名,查询该员工名所在部门的最高薪资,并返回给变量@a;