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

创建数据库并使用:

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;
相关推荐
华章酱5 分钟前
MySQL幻读是怎么出现的
数据库·mysql·幻读
浅念-28 分钟前
Redis基础详解:单线程模型、String与Hash数据结构
服务器·数据库·redis·sql·mysql·nosql数据库·nosql
updayday85440 分钟前
离职域账号状态变更与Ping64操作记录核对
大数据·网络·数据库·安全·智能路由器
Nturmoils1 小时前
只恢复一张表,别把整个库都还回去
数据库
龙腾AI白云2 小时前
大语言模型:从语言理解到通用智能的跃迁
数据库·人工智能·机器学习·知识图谱
SelectDB2 小时前
快手基于 Apache Doris 千亿多模态检索的实践
大数据·数据库·数据分析
SelectDB2 小时前
StarRocks 迁移至 Apache Doris 完整指南:三步完成结构、数据与业务平滑切换
大数据·数据库·数据分析
这个DBA有点耶2 小时前
InnoDB索引组织表下,复合主键和自增主键的物理存储差异与选型对比
数据库·mysql·架构
其实防守也摸鱼3 小时前
常见安全架构中 Shiro 的认证确认机制解析
运维·服务器·数据库·windows·github
TDengine (老段)3 小时前
TDengine 常见问题 TOP7
大数据·数据库·时序数据库·常见问题·tdengine·涛思数据