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(参数)

相关推荐
三天不学习1 分钟前
【Select 语法全解密】.NET开源ORM框架 SqlSugar 系列
数据库·.net·orm·微软技术·sqlsugar
CC呢14 分钟前
基于单片机的智能婴儿床监护系统多功能婴儿床摇篮系统
数据库·mongodb
林的快手1 小时前
209.长度最小的子数组
java·数据结构·数据库·python·算法·leetcode
HEU_firejef2 小时前
Redis——缓存预热+缓存雪崩+缓存击穿+缓存穿透
数据库·redis·缓存
KELLENSHAW2 小时前
MySQL45讲 第三十七讲 什么时候会使用内部临时表?——阅读总结
数据库·mysql
四七伵3 小时前
MySQL外键类型与应用场景总结:优缺点一目了然
mysql
SelectDB3 小时前
飞轮科技荣获中国电信星海大数据最佳合作伙伴奖!
大数据·数据库·数据分析
core5123 小时前
flink cdc各种数据库 jar下载地址
mysql·oracle·flink·jar·oceanbase·cdc
小刘鸭!3 小时前
Hbase的特点、特性
大数据·数据库·hbase
凡人的AI工具箱4 小时前
每天40分玩转Django:Django表单集
开发语言·数据库·后端·python·缓存·django