数据库库、表的创建及处理

创建数据库并使用:

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

创建三张表:

创建学生表并查询:

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  );

创建课程表并查询:

sql 复制代码
 create table SC(Sno int not null,Cno int not null,Score int not null,primary key(Sno, Cno));

创建选课表并查询:

sql 复制代码
create table SC(Sno int not null,Cno int not null,Score int not null,primary key(Sno, Cno));

处理表:

1、修改表中Sage的数据类型为smallint

sql 复制代码
alter table Student modify column Sage smallint not null;

2、为course表的cno字段设置索引,并查看索引

sql 复制代码
create index idx_course_cno on Course(Cno);

3、为SC表建立sno+cno组合的升序主键索引索引名为SC_INDEX

先删除SC表已有主键在建立新的

sql 复制代码
alter table SC drop primary key;
alter table SC add constraint SC_INDEX primary key(Sno asc, Cno asc);

4、创建视图stu_info查询学生姓名、性别、课程名、成绩

sql 复制代码
create view stu_info as 
  select s.Sname, s.Ssex, c.Cname, sc.Score
  from Student s
  join SC sc on s.Sno = sc.Sno
  join Course c on sc.Cno = c.Cno;

5、删除所有索引

删除course表的普通索引

删除SC表的主键索引

sql 复制代码
drop index idx_course_cno on course;
alter table SC drop primary key;
相关推荐
dishugj10 小时前
【Oracle】 Flashback(闪回)技术实操指南
数据库·oracle·flashback
白山云北诗10 小时前
中小企业如何做好企业官网的网络安全
网络·数据库·web安全·ddos·cc·企业网络安全
lkbhua莱克瓦2410 小时前
进阶-存储对象2-存储过程上
java·开发语言·数据库·sql·mysql
码农胖虎-java10 小时前
【AI】向量数据库选型实战:pgvector vs Milvus vs Qdrant
数据库·milvus·pg
Insist75311 小时前
KingbaseES 集群运维案例之 --- 集群架构拆分为单实例操作
网络·数据库·oracle
m0_5981772311 小时前
MySQL项目开发 (2)
数据库·mysql
lkbhua莱克瓦2411 小时前
进阶-存储对象1-视图
java·数据库·sql·mysql·视图
IvorySQL11 小时前
用 PostgreSQL 实践 Palantir 本体论
数据库·postgresql·开源
yangminlei11 小时前
Spring Boot 自动配置原理与自定义 Starter 开发实战
java·数据库·spring boot
萧曵 丶11 小时前
Redis 由浅到深面试题(分层次版)
数据库·redis·缓存