五、MySQL---练习3(索引视图)

五、MySQL---MySQL练习3(索引视图)

素材:
1.学生表:Student (Sno, Sname, Ssex , Sage, Sdept)
学号,姓名,性别,年龄,所在系 Sno为主键
2.课程表:Course (Cno, Cname)
课程号,课程名 Cno为主键
3.学生选课表:SC (Sno, Cno, Score)
学号,课程号,成绩 Sno,Cno为主键
题目:

1.用SQL语句创建学生表student,定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是 “计算机”。
2.修改student 表中年龄(age)字段属性,数据类型由int 改变为smallint。
3.为SC表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为SC_INDEX 。
4.创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩。

解题:

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

mysql> CREATE TABLE student(
    -> sno int primary key auto_increment,
    -> Sname varchar(50) not null unique,
    -> Ssex varchar(20) check(Ssex='男' or Ssex='女'),
    -> Sage int,
    -> Sdept varchar(50) default '计算机');
Query OK, 0 rows affected (0.07 sec)

在这里插入图片描述

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

mysql> alter table student modify sage smallint;
Query OK, 0 rows affected (0.12 sec)
Records: 0  Duplicates: 0  Warnings: 0

在这里插入图片描述
3.为SC表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为SC_INDEX 。
首先创建课程表和学生选课表

课程表:
mysql> create table course(
    -> cno varchar(20) primary key,
    -> cname varchar(20)
    -> );
Query OK, 0 rows affected (0.03 sec)
学生选课表:
mysql> create table sc(
    -> sno varchar(20),
    -> cno varchar(20) primary key,
    -> score varchar(30)
    -> );
Query OK, 0 rows affected (0.03 sec)

然后创建索引并且查看索引:

mysql> create unique index SC_INDEX on sc(sno asc,cno asc);

在这里插入图片描述

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

mysql> create view stu_info
    -> as select sname,ssex,cname,score from student,course,sc
    -> where student.sno=sc.sno and sc.cno=course.cno;
Query OK, 0 rows affected (0.01 sec)

在这里插入图片描述

相关推荐

  1. MySQL视图索引

    2024-01-20 08:02:02       32 阅读
  2. MySQL视图&索引&执行计划&相关十道面试题分享

    2024-01-20 08:02:02       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-20 08:02:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-20 08:02:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-20 08:02:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-20 08:02:02       18 阅读

热门阅读

  1. Redis Interview Speedrun

    2024-01-20 08:02:02       30 阅读
  2. 运维常见的工具推荐

    2024-01-20 08:02:02       27 阅读
  3. ETL概念

    ETL概念

    2024-01-20 08:02:02      31 阅读
  4. nestjs之provider的provide取值的几种方式

    2024-01-20 08:02:02       27 阅读
  5. 服务器工作环境要求

    2024-01-20 08:02:02       31 阅读
  6. 【温故而知新】HTML5 应用程序缓存

    2024-01-20 08:02:02       37 阅读
  7. openssl3.2 - 官方demo学习 - pkey - EVP_PKEY_DSA_paramgen.c

    2024-01-20 08:02:02       30 阅读
  8. webpack

    2024-01-20 08:02:02       30 阅读
  9. 利用Facebook广告进行品牌宣传的优缺点有哪些

    2024-01-20 08:02:02       35 阅读
  10. Stable Diffusion中不同的采样方法

    2024-01-20 08:02:02       29 阅读