创建学生信息管理数据库

本文是由YuDrag独家创作的————————作业

如有错误之处,还请各位大佬指正,小弟课下之余将认真修改。感谢各位!!!

下次作业再见!!!

学生信息管理数据库:面对学生和教师信息进行存储和进行相关的操作

面对不同的用户对象,将存储的不同的信息,没有权限管理!!!

学生:学生的基础信息:姓名,性别,年龄,电话,班级以及选课信息

老师:老师的基础信息:姓名,性别,年龄,电话,以及教授科目

这里的学生与科目之间是一对多的关系,一个学生可以选择多个科目

老师和科目则是一对一的关系,一个老师教授一个科目

接下来进行ER图:

将ER图转化为关系模式:

学生(姓名,性别,学号,科目,班级,电话,年龄)

教师(姓名,性别,教师编号,电话,年龄,教授科目)

设计表格:

         

Student表

字段名

数据类型

长度

是否主键

说明

stu_num

int

4

学生表主键

stu_name

varchar

20(一个汉字三个字节)

学生姓名

stu_gender

varchar

4

学生性别

stu_cla

varchar

20

学生班级

stu_tel

int

4

学生电话

stu_age

int

4

学生年龄

Teacher表

字段名

数据类型

长度

是否主键

说明

tea_num

int

4

教师表主键

tea_name

varchar

20

教师姓名

tea_gender

varchar

4

教师性别

tea_tel

int

4

教师电话

tea_age

int

4

教师年龄

 Course表

字段名

数据类型

长度

是否主键

说明

Cou_id

int

4

主键

cou_name

varchar

20

课程名称

tea_num

int

4

教师编号

Score表

字段名

数据类型

长度

是否主键

说明

stu_num

varchar

20

学生编号

tea_num

int

4

教师编号

score

int

4

分数

Pickcourse表:

字段名

数据类型

长度

是否主键

说明

Id

int

4

主键

stu_id

int

4

学生编号

cou_id

int

4

课程编号

创建表格:

2.创建student表:

mysql> create table student(

    -> stu_num int(4) primary key auto_increment,

    -> stu_name varchar(20),

    -> stu_gender varchar(4),

    -> stu_age int(4)

    -> stu_tel int(4),

    -> stu_cla varchar(20)

2.创建teacher表:

mysql> create table teacher(

    -> tea_num int(4),

    -> tea_name varchar(20),

    -> tea_gender varchar(4),

    -> tea_tel int(4),

    -> tea_age int(4),

mysql> ALTER TABLE teacher ADD PRIMARY KEY(tea_num);

3.创建course表:

mysql> create table course(

    -> cou_name varchar(20),

    -> tea_num int(4));

mysql> ALTER TABLE course add cou_id int(4) primary key FIRST;

4.创建score表:

mysql> create table score(

          -> stu_num int(4),

          -> tea_num int(4),

          -> score int(4));

mysql> ALTER TABLE score ADD PRIMARY KEY(tea_num,stu_num);

插入数据:

1.向student表插入多条数据:

INSERT INTO student(stu_name,stu_gender,stu_age,stu_tel,stu_cla) VALUES('张一','男',18,12345678,'java'),('张二','男',19,123458,'c++'),('张三','男',20,1345678,'java'),('张四','女',22,125678,'java'),('张五','女',24,15678,'c++'),('张六','男',54,1234345678,'java'),('张七','男',43,1234538,'c++');

2.向course表插入多条数据:

mysql> INSERT INTO course(

    -> cou_name,tea_num) values(

    -> '数学',01),('语文',02),('英语',03);

3.向teacher表中插入多条数据:

mysql> INSERT INTO teacher(

    -> tea_name,tea_gender,tea_tel,tea_age) values(

     -> '数学老师','男','123',54),('语文老师','男','143',34),('英语老师','男','145',65);

4.向scores表中插入多条数据:

Insert into score values (1,1,78),(1,2,54),(1,3,70),(2,1,38),(2,2,8),(2,3,48),(3,1,98),(3,2,78),(3,3,68),(4,1,99),(4,2,78),(4,3,98),(5,1,28),(5,2,58),(5,3,58),(6,1,88),(6,2,74),(6,3,18),(7,3,34),

(7,2,72),(7,1,89);   

基础的数据操作:

#5.1 查询学生所有信息

SELECT * FROM student;

#5.2 查询老师所有信息

SELECT * FROM teacher;

#5.3 查询选课了XX科目的学生信息

SELECT c.cou_name 科目, s.* FROM student s,pickcourse p,course c WHERE s.stu_num = p.stu_id AND p.cou_id = c.cou_id AND c.cou_id = 1;

#5.4 对应科目的老师信息

SELECT c.cou_name 科目,t.* FROM teacher t,course c WHERE t.tea_num = c.tea_num AND c.cou_id = 1;

#5.5 修改学生信息

UPDATE student SET stu_name = '张二二', stu_age = 45 WHERE stu_num = 2;

#5.6 删除学号为xx的学生信息

DELETE FROM student WHERE stu_num = 6;

#5.7 学号为xx的学生选择xx课程

SELECT p.cou_id 学科编号, c.cou_name 学科名称 FROM student s,pickcourse p,course c WHERE s.stu_num = 1 AND s.stu_num = p.stu_id AND p.cou_id = c.cou_id;

#5.8 查询年龄大于20岁的学生信息

SELECT student.* FROM student WHERE stu_age > 20;

#5.9 学号为xx的学生修改其电话号码

UPDATE student SET stu_tel = 1213234 WHERE stu_num = 2;

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值