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;
相关推荐
山甫aa28 分钟前
JavaWeb后端开发学习手册
java·开发语言·数据库·学习·mysql·springboot·web
JavaPub-rodert38 分钟前
MongoDB 常用命令和常见问题大全
数据库·mongodb
Dovis(誓平步青云)2 小时前
从Redis指标采集到异常告警:redis_exporter + Prometheus 完整实战
服务器·数据库·人工智能·redis·架构·prometheus·vibe coding
城管不管10 小时前
重生——第十一次面试之挖财一面2026.8.19已OC
java·服务器·jvm·数据库·spring·面试·职场和发展
倔强的石头10610 小时前
向量数据库从相似度检索走向融合数据底座
数据库
今天AI了吗11 小时前
Python 基础语法(一):常量、变量、输入输出与运算符
开发语言·数据库·人工智能·python·sql·深度学习·机器学习
lilian23312 小时前
Harmony os 技术实战|拼豆制图27:用单字符编码承载 50 张 70×70 图纸
前端·数据库·华为·harmonyos
皮卡丘不断更13 小时前
手机优先的 Personal Ledger:把账目、学习和复盘放到同一个入口
数据库·sqlite·fastapi·开源项目·个人效率
保卫大狮兄13 小时前
设备管理从台账到报废,完整生命周期一次讲清
数据库·设备管理·设备
数据安全技术观察14 小时前
数据动态脱敏:让脱敏策略跟着数据目录走
大数据·网络·数据库