MySQL4.索引及视图

1.建库

sql 复制代码
create database mydb15_indexstu;
use mydb15_indexstu;

2.建表

2.1 student表学(sno)号为主键,姓名(sname)不能重名,性别(ssex)仅能输入男或女,默认所在系别(sdept)为'计算机'

sql 复制代码
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);

2.2 course表课程号(cno)为主键

sql 复制代码
create table course( 
cno int primary key not null, 
cname varchar(20) not null);

2.3 sc表课程号(cno)为主键

sql 复制代码
create table sc( 
sno int not null,
cno varchar(10) primary key not null, 
score int not null);

3.实现需求

3.1 修改student表中年龄(sage)字段属性,将数据类型由int改为smallint

sql 复制代码
alter table student modify sage smallint;

3.2 为course表中 课程号(cno)字段设置索引,并查看索引

sql 复制代码
create index cno_index on course(cno);
show create table course\G

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

sql 复制代码
create index sc_index on sc(sno,cno asc);
show create table sc\G

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

sql 复制代码
create view stu_info as select sname,ssex,cname,score from student join sc on student.sno=sc.sno join course on sc.cno=course.cno;
show tables;

3.5 删除所有索引

sql 复制代码
drop index cno_index on course;
drop index sc_index on sc;
相关推荐
茁壮成长的露露19 小时前
MongoDB分片集群部署
数据库·mongodb
indexsunny19 小时前
互联网大厂Java面试实战:Spring Boot与微服务在电商场景中的应用解析
java·数据库·spring boot·微服务·maven·flyway·电商
zhujian8263719 小时前
二十七、【鸿蒙 NEXT】如何实时查看数据库
数据库·华为·harmonyos·查看数据库
数据知道19 小时前
PostgreSQL实战:窗口函数详解
数据库·postgresql
狂龙骄子19 小时前
MySQL表字段批量修改SQL实战技巧
数据库·sql·mysql·alter table·批量修改·sql实战技巧
catchadmin19 小时前
2026 年 PHP 函数式编程 优势与实际应用
数据库·php
roman_日积跬步-终至千里19 小时前
【SQL】SQL 语句的解析顺序:理解查询执行的逻辑
java·数据库·sql
ascarl201019 小时前
达梦与 Oracle 的关系及数据库架构差异
数据库·oracle·数据库架构
Mao.O19 小时前
Redis三大缓存问题及布隆过滤器详解
数据库·redis·缓存
悟能不能悟20 小时前
在Oracle中,包分为包头(PACKAGE)和包体(PACKAGE BODY),存储过程的实现代码在包体中。以下是几种查找方法
数据库·oracle