首页 > 数据库 >用mysql创建student_dissertation

用mysql创建student_dissertation

时间:2022-10-29 14:32:35浏览次数:71  
标签:dissertation 电子系 student mysql where select departmentid

一、 程序设计内容及要求

课程设计
创建student_dissertation数据库,在该数据库中创建4张数据表:t_student(学生表)、t_department(专业表)、t_dissertation(课题表)、t_s_dissertation(选题表),它们表结构设计如下:

用mysql创建student_dissertation_级联

用mysql创建student_dissertation_主键_02

2)对各表输入以下数据:

用mysql创建student_dissertation_数据库_03

用mysql创建student_dissertation_主键_04

用mysql创建student_dissertation_级联_05

操作要求:
1、 为各表设置主键
2、 查询要求得到所有专业号为1的男生的学生信息
3、 查询得到所有电子系男生的学生信息
4、 创建视图,显示学生所选课题还未通过审批的信息
5、 创建​​​存储过程​​​,通过指定专业,返回该专业所有学生的基本信息
6、 创建触发器,当某课题被删除时,选题表中相关记录也同时被删除
7、 建立数据库相关表之间的参照完整性约束,均设置为级联

二、程序实现思路

1、建立数据库
2、建立四张表格,并且给是主键的插入主键PRIMARY KEY
3、往表格里用insert…values插入多条记录

V-R图:

用mysql创建student_dissertation_级联_06

三、 程序清单或正文

1.表格插入记录及为各表设置主键

用mysql创建student_dissertation_数据库_07

用mysql创建student_dissertation_数据库_08

用mysql创建student_dissertation_数据库_09

用mysql创建student_dissertation_级联_10

用mysql创建student_dissertation_主键_11

2.查询要求得到所有专业号为1的男生的学生信息

/查询要求得到所有专业号为1的男生的学生信息/

select * from t_student where departmentid = 1 and studentsex = ‘男’;

用mysql创建student_dissertation_级联_12

3.查询得到所有的电子系男生的学生信息

/查询得到所有电子系男生的学生信息/

/查询得到所有电子系男生的学生信息/

select * from t_student where departmentid =

(select departmentid from t_department

where departmentname = ‘电子系’) and studentsex = ‘男’;

用mysql创建student_dissertation_数据库_13

4.创建视图显示学生所选课题还未通过审批的信息

/创建视图,显示学生所选课题还未通过审批的信息/

create view new_view

as select * from t_s_dissertation where state = ‘待审批’;

select * from new_view;/查看视图/

用mysql创建student_dissertation_数据库_14

5.创建储存过程,通过指定专业,返回该专业的所有学生的基本信息

/创建存储过程,通过指定专业,返回该专业所有学生的基本信息/

DELIMITER //

create PROCEDURE pr_getmassage(IN departmentname1 char(50))

BEGIN

select * from t_student where t_student.departmentid in

(select departmentid from t_department where departmentname=departmentname1);

END;

//

CALL pr_getmassage(‘电子系’);


Delimiter;

CALL pr_getmassage(‘电子系’);

//;

用mysql创建student_dissertation_主键_15

6.创建触发器,当某课题被删除时选题表中的相关记录也同时被删除

/创建触发器,当某课题被删除时,选题表中相关记录也同时被删除/

DELIMITER //

CREATE TRIGGER tr_deltable AFTER DELETE

ON t_dissertation FOR EACH ROW

BEGIN

DELETE from t_s_dissertation where t_s_dissertation.dissertationid =old.dissertationid;

END

//

DELETE from t_dissertation where dissertationid=‘Z001’;

Delimiter;

//;

用mysql创建student_dissertation_主键_16

7.建立数据库相关表之间的参照完整性约束,均设置为级联

/建立数据库相关表之间的参照完整性约束,均设置为级联/

ALTER TABLE t_student ADD FOREIGN KEY (departmentid) REFERENCES t_department(departmentid) ON DELETE CASCADE ON UPDATE CASCADE;

ALTER TABLE t_s_dissertation ADD FOREIGN KEY (studentid) REFERENCES t_student(studentid) ON DELETE CASCADE ON UPDATE CASCADE;

ALTER TABLE t_s_dissertation ADD FOREIGN KEY (dissertationid) REFERENCES t_dissertation(dissertationid) ON DELETE CASCADE ON UPDATE CASCADE;

//

用mysql创建student_dissertation_主键_17


欢迎您关注我的微信公众号:学习微站(studysth)

用mysql创建student_dissertation_主键_18


文章知识点与官方知识档案匹配,可进一步学习相关知识

标签:dissertation,电子系,student,mysql,where,select,departmentid
From: https://blog.51cto.com/u_14604401/5806045

相关文章

  • MySQL学习笔记(sql语句为主)
    MySQL学习笔记MySQL实战应用根据老杜mysql的课程内容整理的学习笔记命令行基本操作登录mysql(cmd)://显示密码的形式mysql-uroot-pabc123//隐藏密码的形式mysql-......
  • Mac 平台 MySQL连接工具 Sequel Pro 使用经验之谈
    刚刚转到Mac开发平台,还在恋恋不舍地使用着之前的最爱dbeaver,但是查询速度确实慢,看到同事都是使用sequelpro。大致查找学习网络教程,总结如下:据说这款工具是苹果公司为......
  • MySQL高级篇-第00章 MySQL高级特性
    MySQL高级特性主要分为4个篇章:MySQL架构篇、索引及调优篇、事务篇、日志与备份篇MySQL架构篇第01章Linux下MySQL的安装与使用第02章MySQL的数据目录第03章用户与权......
  • MySql安装配置(msi版)
    ​​MySql​​​下载地址​​https://dev.mysql.com/downloads/mysql/​​下载安装选择自定义安装,如果只需要​​MySQL​​​可以选择​​Serveronly​​这里只选择​​My......
  • MySql常用语句
    这是数据库的表,数据是自动生成的增删改查--添加数据INSERTintostudent(name,age)VALUES('李四',18);--查询所有数据SELECT*FROMstudent;--修改数据UPDATEstudent......
  • Java通过jdbc连接MySql数据库进行操作
    下载​​MySql​​驱动包​​https://dev.mysql.com/downloads/connector/j/​​解压,把文件夹中的​​jar​​包拷贝到项目文件中新建一个java类进行连接​​db1​​是我......
  • 「MySQL高级篇」MySQL锁机制 && 事务
    大家好,我是melo,一名大三后台练习生,最近赶在春招前整理整理发过的博客~......
  • mysql通过内网链接
    1,内网ssh链接  公钥访问2.端口 ......
  • Docker 安装SqlServer、Mysql、MariaDB
    Docker安装SqlServer说明1.拉取镜像dockerpullmcr.microsoft.com/mssql/server:2019-latest2.运行dockerrun--namemssqlserver2019-d--restartunless-st......
  • mysql并发插入死锁
    前言开发中遇到多线程并发情况对数据批量插入主键id非雪花id,函数自增id原理分析两个事务都持有该行的S锁,期望获取X锁时被对方阻塞了。通俗讲就是并发插入出现相同......