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

创建数据库并使用:

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;
相关推荐
Jay_Franklin2 小时前
Python中使用sqlite3模块和panel完成SQLite数据库中PDF的写入和读取
数据库·笔记·python·pycharm·sqlite·pdf·py
小锅巴1232 小时前
百度测开面经(分类版)
数据库·分类·数据挖掘
芒果要切3 小时前
Redis 使用场景
数据库·redis·缓存
全栈工程师修炼指南3 小时前
DBA | Oracle RMAN 实战:物理备份与数据恢复全解析
数据库·oracle·dba
现在,此刻3 小时前
clickhouse和pgSql跨库查询方案对比
数据库·sql·clickhouse·性能优化
while(1){yan}3 小时前
数据库的基本操作
数据库·oracle
翻斗花园牛图图-3 小时前
MySQL——库的操作
数据库·mysql
大猫会长3 小时前
supabase备份数据库中某个schema的方法
数据库·oracle
-指短琴长-3 小时前
MySQL快速入门——内置函数
android·数据库·mysql