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

相关推荐
稚辉君.MCA_P8_Java3 小时前
JVM第二课:一文讲透运行时数据区
jvm·数据库·后端·容器
阳光明媚sunny4 小时前
Room持久化库中,@Transaction注解的正确使用场景是?
android·数据库
北极糊的狐4 小时前
MySQL常见报错分析及解决方案总结(15)---Can’t connect to MySQL server on ‘localhost‘ (10061)
数据库·mysql
濑户川4 小时前
Django5 与 Vue3 表单交互全解析:从基础到实战
数据库
weixin_438077494 小时前
langchain官网翻译:Build a Question/Answering system over SQL data
数据库·sql·langchain·agent·langgraph
陈一Tender5 小时前
JavaWeb后端实战(MySql基础)
mysql
-雷阵雨-5 小时前
MySQL——数据库操作攻略
数据库·mysql
krielwus5 小时前
Oracle ORA-01653 错误检查以及解决笔记
数据库·oracle
Wadli5 小时前
csdn| MySQL
数据库·mysql
程序员水自流6 小时前
MySQL InnoDB存储引擎关键核心特性详细介绍
java·数据库·mysql