MySQL数据库索引练习

1.学生表:Student (Sno, Sname, Ssex , Sage, Sdept)

学号,姓名,性别,年龄,所在系 Sno为主键

课程表:Course (Cno, Cname,)

课程号,课程名 Cno为主键

学生选课表:SC (Sno, Cno, Score)

学号,课程号,成绩 Sno,Cno为主键

1.用SQL语句创建学生表student,定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是 "计算机"。

csharp 复制代码
create table Student(
     Sno int primary key auto_increment,
     Sname varchar(100) NOT NULL unique,
     Ssex varchar(20) check (Ssex='男' or Ssex='女') NOT NULL,
     Sage int NOT NULL,
     Sdept varchar(100) default '计算机' NOT NULL
     );

2.修改student 表中年龄(age)字段属性,数据类型由int 改变为smallint。

csharp 复制代码
alter table Student modify Sage smallint;

3.为SC表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为SC_INDEX 。

csharp 复制代码
创建Course表
create table Course(
     Cno int primary key NOT NULL,
     Cname varchar(100) NOT NULL
     );
创建SC表
create table SC(
     Sno int NOT NULL,
     Cno int primary key NOT NULL,
     Score int NOT NULL
     );

create unique index SC_INDEX on SC(Sno asc, Cno asc);

4.创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩。

csharp 复制代码
 create view stu_info as select Student.Sname as '姓名', Student.Ssex as '性别', Course.Cname as '课程名', SC.Score as '成绩' from Student, Course, SC;

2.创建学生信息表:学号(主键),姓名,年龄, 班级(外键关联到班级表的班级编号)

班级表:班级编号(主键), 班级名称

csharp 复制代码
create table Student(
	Sno int primary key,
	Sname char,
	Sage int,
	C_name char
	);

create table Class(
	Cno int primary key,
	Cname char,
	foreign key Cno references C_name
	);

3.创建一张表(id, data): 创建一个存储过程,要求可以调用存储过程向表中插入200条,2000条,20000条

提示调用存储过程:call procedure_name(参数)

csharp 复制代码
create table Data(
	id int primary key,
	data char
	);

4.题3中相同的表:创建一个函数,要求可以调用函数向表中插入200条,2000条,20000条

提示调用函数:select function_name(参数)

相关推荐
小白学大数据13 分钟前
JavaScript重定向对网络爬虫的影响及处理
开发语言·javascript·数据库·爬虫
time never ceases34 分钟前
使用docker方式进行Oracle数据库的物理迁移(helowin/oracle_11g)
数据库·docker·oracle
Frank牛蛙37 分钟前
1.每日SQL----2024/11/7
数据库·sql
Ciderw39 分钟前
块存储、文件存储和对象存储详细介绍
网络·数据库·nvme·对象存储·存储·块存储·文件存储
薛晓刚40 分钟前
数据库优化指南:如何将基本功能运用到极致?
数据库
stars_User43 分钟前
MySQL数据库面试题(下)
数据库·mysql
Yaml41 小时前
智能化健身房管理:Spring Boot与Vue的创新解决方案
前端·spring boot·后端·mysql·vue·健身房管理
未来之窗软件服务1 小时前
sql速度优化多条合并为一条语句
数据库
山东布谷科技官方1 小时前
布谷直播源码部署服务器关于数据库配置的详细说明
运维·服务器·数据库·直播系统源码·直播源码·直播系统搭建·直播软件开发
yanwushu1 小时前
Xserver v1.4.2发布,支持自动重载 nginx 配置
mysql·nginx·php·个人开发·composer