MySQL索引以及视图

目录

1、创建school数据库

2、创建student表

3、创建course表

4、创建sc表

5、修改student表中(年龄)字段属性,数据类型由int改变为smallint

6、为sc表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为sc_index

7、创建一视图stu_info,查询全体学生的姓名,性别,课程表,成绩


1、创建school数据库

/*创建school数据库*/
CREATE DATABASE school;

执行结果:

 

2、创建student表

/*创建student表*/
CREATE TABLE student(
	Sno INT(10) PRIMARY KEY,
	Sname VARCHAR(20) UNIQUE,
	Ssex ENUM('男','女')DEFAULT NULL,
	Sage INT(2) ,
	Sdept VARCHAR(50) DEFAULT '计算机'
)ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

执行结果:

3、创建course表

/*创建course表*/
CREATE TABLE course(
	Cno INT(10) PRIMARY KEY,
	Cname VARCHAR(50)
)ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

执行结果:

 

4、创建sc表

/*创建sc表*/
CREATE TABLE sc(
	Sno INT(10),
	Cno INT(10),
	Score INT(5),
	PRIMARY KEY(Sno,Cno)
)ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

执行结果:

 

5、修改student表中(年龄)字段属性,数据类型由int改变为smallint

/*修改student表中(年龄)字段属性,数据类型由int改变为smallint*/
ALTER TABLE student MODIFY sage SMALLINT;

执行结果:

 

6、为sc表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为sc_index

/*为sc表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为sc_index*/
ALTER TABLE sc ADD INDEX sc_index(Sno,Cno ASC);

执行结果:

 

7、创建一视图stu_info,查询全体学生的姓名,性别,课程表,成绩

/*创建一视图stu_info,查询全体学生的姓名,性别,课程表,成绩*/
CREATE OR REPLACE VIEW stu_info(NAME,sex,cname,grades) 
AS SELECT st.Sname,st.Ssex,c.Cname,s.Score 
FROM student st,course c,sc s
WHERE st.Sno=s.Sno AND c.Cno=s.Cno;

执行结果:

 


版权声明:本文为m0_63069714原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。