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

创建数据库并使用:

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;
相关推荐
2509_94088022几秒前
CC++链接数据库(MySQL)超级详细指南
c语言·数据库·c++
l***46681 分钟前
MySQL单表存多大的数据量比较合适
数据库·mysql
l***74941 分钟前
PostgreSQL_安装部署
数据库·postgresql
m***11903 分钟前
mysql in查询大数据量业务无法避免情境下优化
数据库·mysql
我科绝伦(Huanhuan Zhou)3 分钟前
数据库故障的诊断方法与分析思路:实战经验总结
数据库
h***93665 分钟前
redis 使用
数据库·redis·缓存
j***49567 分钟前
Spring Boot 各种事务操作实战(自动回滚、手动回滚、部分回滚)
java·数据库·spring boot
0***v7777 分钟前
Redis的优势和特点
数据库·redis·缓存
2***d8858 分钟前
redis服务启动与停止
数据库·redis·缓存
p***95009 分钟前
MySQL Workbench菜单汉化为中文
android·数据库·mysql