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;
相关推荐
ClickHouseDB15 小时前
ClickHouse Cloud 与 Snowflake 实时性价比对比:CostBench 测试中的 412 倍差距来
运维·数据库·系统架构
m0_6399069415 小时前
Redis入门|五种数据结构、使用场景、持久化RDB&AOF
数据结构·数据库·redis
时间售卖铺16 小时前
触发器与函数实战:MySQL高效编程秘诀
运维·数据库·mysql·云原生
qetfw16 小时前
UOS MariaDB 数据库:安装、最小权限与备份验证
linux·数据库·mariadb·uos
数智园区合作社17 小时前
问数平台怎么把同一个指标锁成一个数
大数据·数据库·人工智能·ai
lbb 小魔仙17 小时前
Windows搭建PaddleOCR+飞书Webhook自动打卡通知机器人:识别、推送与远程触发完整教程
数据库·人工智能·prometheus·时序数据库
captain37618 小时前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis
心中有你021419 小时前
Java实现Dijkstra最短路径算法(邻接表 + 优先队列)
java·数据库·算法
龙亘川19 小时前
综合素质评价业务建模:从过程性评价到成长档案全链路闭环
数据库·智慧城市·数据可视化
数据库小组19 小时前
NineData 实战教程:MySQL 5.5 数据迁移同步到 MySQL 8.0(跨版本升级)
数据库·mysql·mysql优化·数据库开发·数据库迁移·版本升级·数据复制