MySQL练习

发布于:2022-10-27 ⋅ 阅读:(284) ⋅ 点赞:(0)

要求:/*

学生表:Student (Sno, Sname, Ssex , Sage, Sdept)
学号,姓名,性别,年龄,所在系 Sno为主键

课程表:Course (Cno, Cname,)
课程号,课程名 Cno为主键
学生选课表:SC (Sno, Cno, Score)
学号,课程号,成绩 Sno,Cno为主键
*/

  1. #创建数据库:

  2. CREATE DATABASE Stu;

  1. 使用数据库

  2. USE Stu;

1.用SQL语句创建学生表student,定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是 “计算机”。


#创建学生表
CREATE TABLE Student(
Sno INT UNIQUE AUTO_INCREMENT PRIMARY KEY,
Sname VARCHAR(20) UNIQUE,
Ssex VARCHAR(20) CHECK(Ssex='男' OR Ssex='女') ,
Sage INT,
Sdept VARCHAR(200) DEFAULT'计算机'
)ENGINE=INNODB DEFAULT CHARSET=utf8;

  1. #查看表的结构,验证

  2. DESC Student;

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

ALTER TABLE Student MODIFY Sage SMALLINT;

#创建课程表
CREATE TABLE Course(
Cno INT PRIMARY KEY,
Cname VARCHAR(20)
);
#查看结构
DESC Course;
#创建选课表
CREATE TABLE Sc(
Sno INT UNIQUE ,
Cno INT,
Score VARCHAR(20),
PRIMARY KEY(Sno,Cno)
);
DESC Sc;


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

CREATE UNIQUE INDEX sc_index ON Sc(Sno ASC,Cno ASC);

  1. #查询Sc表的索引情况

  2. SHOW CREATE TABLE Sc;

 

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

 

  1. CREATE VIEW stu_info

  2. AS SELECT Student.Sname AS '姓名',Student.Ssex AS '性别',Sc.Cno AS '课程名',Sc.Score AS '成绩'

  3. FROM Student,Course,Sc;

查看视图:

DESCRIBE stu_info;

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到