MYSQL 视图和索引

1.创建student,course表

操作命令:

CREATE TABLE student(
sno INT(10) PRIMARY KEY COMMENT '学号',
sname VARCHAR(20) UNIQUE COMMENT '姓名',
ssex VARCHAR(20) NOT NULL COMMENT '性别',
sage INT(10) NOT NULL COMMENT '年龄' ,
sdept VARCHAR(20) DEFAULT '计算机' COMMENT '所在系',
CHECK (ssex IN ('男','女'))
) ;
CREATE TABLE course(  
  cno INT(10) NOT NULL COMMENT '课程号',
  cname VARCHAR(20) NOT NULL COMMENT '课程名',
  PRIMARY KEY (cno)
) ENGINE=INNODB CHARSET=utf8 COLLATE=utf8_unicode_ci;

MYSQL 视图和索引_第1张图片

 2.插入数据(高数,java)

操作命令:

INSERT INTO course VALUES(1302301,'高数');
INSERT INTO course VALUES(1230452,'Java');

 

MYSQL 视图和索引_第2张图片

3.修改student表中的年龄字段属性,int改变为smallint

操作命令:

ALTER TABLE student MODIFY sage    SMALLINT;

MYSQL 视图和索引_第3张图片

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

操作命令:

CREATE TABLE sc(
sno INT(10) NOT NULL COMMENT '学号',
cno VARCHAR(20) NOT NULL COMMENT'课程号',
score INT(255) NOT NULL COMMENT'成绩',
UNIQUE INDEX SC_INDEX(sno ASC,cno ASC),
PRIMARY KEY(sno,cno)
) ENGINE=INNODB CHARSET=utf8 COLLATE = utf8_unicode_ci;

MYSQL 视图和索引_第4张图片

MYSQL 视图和索引_第5张图片

 给表中插入数据:

操作命令:

INSERT INTO sc VALUES(2001,'1302301',90);
INSERT INTO sc VALUES(2002,'1230452',79);
INSERT INTO sc VALUES(2003,'1326743',80);

MYSQL 视图和索引_第6张图片

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

操作命令:

CREATE VIEW stu_info (姓名,性别,课程名,成绩) AS SELECT
student.`sname`,student.`ssex`,course.`cname`,sc.`score`
FROM student,course,sc WHERE student.`sno`=sc.`sno` AND course.`cno`=sc.`cno`;

SELECT * FROM stu_info; //查看视图

 

你可能感兴趣的:(1024程序员节,mysql,数据库)