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

创建数据库并使用:

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;
相关推荐
NineData4 小时前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
赵渝强老师6 小时前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
全栈老石10 小时前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
倔强的石头_1 天前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou642 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤3 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区4 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1774 天前
《从零搭建NestJS项目》
数据库·typescript
加号35 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏5 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker