MYSQL第四次
目录
题目分析
代码实现
一、修改 Student 表中年龄(sage)字段属性,数据类型由 int 改变为 smallint
二、为 Course 表中 Cno 字段设置索引,并查看索引
三、为 SC 表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为 SC_INDEX
四、创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩
五、删除所有索引
题目分析
前提:创建数据库和表并使用
create database mydb15_indexstu;
use mydb15_indexstu;
mysql> create table student(
-> Sno int primary key auto_increment,
-> Sname varchar(30) not null unique,
-> Ssex varchar(2) check (Ssex='男'or Ssex='女') not null,
-> Sage int not null,
-> Sdept varchar(10) default '计算机' not null);
Query OK, 0 rows affected (0.02 sec)
create table Course(Cno int primary key not null, Cname varchar(20) not null);
create table SC(Sno int not null, Cno varchar(10) primary key not null, Score int not null);
使用desc查看表结构核对是否正确
代码实现
一、修改 Student 表中年龄(sage)字段属性,数据类型由 int 改变为 smallint
alter table student modify sage smallint;
二、为 Course 表中 Cno 字段设置索引,并查看索引
create index idx_Cno on Course(Cno);
show index from Course;
三、为 SC 表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为 SC_INDEX
create unique index sc_index on sc(Sno,Cno);
四、创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩
mysql> create view stu_info AS
-> select s.sname, s.ssex, c.cname, sc.score
-> from student s
-> join sc on s.sno = sc.sno
-> join course c on sc.cno = c.cno;
mysql> desc stu_info;
五、删除所有索引
drop index idx_cno on course;
drop index sc_index on sc;