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;
相关推荐
Lucifer三思而后行11 分钟前
使用 BR 备份 TiDB 到 AWS S3 存储
数据库·tidb·aws
百***17071 小时前
Oracle分页sql
数据库·sql·oracle
qq_436962181 小时前
数据中台:打破企业数据孤岛,实现全域资产化的关键一步
数据库·人工智能·信息可视化·数据挖掘·数据分析
weixin_537765802 小时前
【数据库管理】MySQL主从复制详解
数据库·mysql
q***33372 小时前
数据库高安全—openGauss安全整体架构&安全认证
数据库·安全·架构
范纹杉想快点毕业3 小时前
《嵌入式开发硬核指南:91问一次讲透底层到架构》
java·开发语言·数据库·单片机·嵌入式硬件·mongodb
倚肆3 小时前
MySQL 配置文件属性详解
数据库·mysql
user_admin_god5 小时前
企业级管理系统的站内信怎么轻量级优雅实现
java·大数据·数据库·spring boot
百***22125 小时前
mysql的分区表
数据库·mysql
humors2216 小时前
服务端开发案例(不定期更新)
java·数据库·后端·mysql·mybatis·excel