MySQL 基础教程[6]

  • 问题1
  • 问题1代码
  • 问题2
  • 问题2代码
  • 本系列MySQL 基础教程通过“问题-代码”的方式介绍各类方法,每篇设置2个MySQL综合问题,并给出解决方案。

问题1

学生社团数据库db_association中有学生表tb_student, 包含字段: 学号 (sno) 、姓名 (sname) 及所 在专业 (smajor) 。社团表tb_group, 包含字段: 社团号 (gno) 、社团名称 (gname)及创建日期(gdate)。学生参 加社团表tb_gs, 包含字段: 社团号(gno)、、学号 (sno) 、在社团中的角色 (grole) 。请按要求完成以下操作。

  1. 使用 SQL语句在tb student表添加一个字段ssex, 数据类型为 char, 长度为 2 , 字段值允许为空值, 缺省值为“女"。
  2. 写出用 SQL语句删除“计算机”专业的学生参加社团信息的语句。
  3. 使用SQL语句建立一个视图v_number, 视图的内容是按照专业统计参加学生社团的人数, 设视图包含的列名为 smajor snumber.
  4. 使用SQL语句在db_gs表上建立外键, 属性 sno参照学生表的sno。
  5. 新建一个名称为 tmpuser的用户, 密码是 a 12345 \mathrm{a} 12345 a12345, 并为其授予对tb_group表的SELECT、INSERT权限。

问题1代码

#【1】
use db_association;
alter table tb_student add column  sses char(2) default "女";
#【2】
delete from tb_gs where sno in (select sno from tb_student where smajor="计算机");
#【3】
create view v_number(smajor, snumber) as select smajor, count(distinct tb_gs.sno) from tb_student a, tb_gs b where a.sno=b.sno  group by a.smajor;
#【4】
alter table tb_gs add foreign key  sno references tb_student(sno);
#【5】
create user 'tmpuser'@'localhost' identified by 'a12345';
grant select, insert on tb_group to 'tmpuser' @'localhost' with grant option;

问题2

学生社团数据库db_associationt中有学生表tb_student、社团表tb_group和学生参加社团表tb_gs。请按 要求完成以下操作。

  1. 设计一个名称为 sp_list的存储过程, 根据给定的社团名称, 显示参加该社团的学生姓名、专业, 并写出调用存储 过程的语句。

  2. 设计一个名称为ev_group的事件, 将没有参加任何学生社团的学生名单保存到一个文件中, 每个月执行一次。

问题2代码

#【1】DELIMITER $$
CREATE PROCEDURE sp_list(in  s CHAR(20))
BEGIN
IF s !='' THENSELECT sname,smajor FROM tb_student s,tb_gs gs, tb_group g WHERE s.sno=gs.sno AND gs.gno=g.gno AND gname=s;
end if;
END $$
DELIMITER ;
call  sp_list('话剧社');#【2】DELIMITER $$
CREATE EVENT ev_group ON schedule  EVERY 1 MONTH
starts  CURDATE()+INTERVAL 1 MONTH
DO
BEGINSELECT sno,sname FROM tb_student WHERE sno not in  ( SELECT sno  FROM tb_gs ) into   OUTFILE 'c:/tmp.txt' FIELDS TERMINATED BY ',';
END $$
DELIMITER ;

MySQL 基础教程[6]相关推荐

  1. MySql基础教程(三)——查询训练

    在MySql两轮基础的学习之后,来一波实战演习... 三张表:学生表,课程表,成绩表. 建表详细信息见 MySql基础教程(一) 转载于:https://www.cnblogs.com/zhouerb ...

  2. php与mysql基础教程第二版_PHP 和 MySQL 基础教程(二)

    本篇文章给大家带来的内容是关于PHP 和 MySQL 基础教程(二),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 数据验证 清理空格 trim 函数将清除数据头尾的空格,它的语法是 ...

  3. php mysql 菜鸟_PHP 和 MySQL 基础教程(四)

    PHP 和 MySQL 基础教程(四) 发布时间:2016-06-17 来源: 点击: 次 MySQL 中的 SQL 对于 MySQL ,第一件你必须牢记的是它的每一行命令都是用分号 (;) 作为结束 ...

  4. MySQL基础教程---创建、查询、备份数据库

    文章目录 一.创建数据库 1.指令或者工具创建数据库 2.数据库校对规则 二.查询数据库 三.备份与恢复数据库 1.对数据库的备份 2.对数据表的备份 3.导入一个SQL文件 前期环境基础: MySQ ...

  5. MySQL基础教程——创建数据库并插入数据

    本节将介绍 MySQL 新建数据库,新建表,插入数据以及基本数据类型的相关知识.本节实验将创建一个名为 mysql_shiyan 的数据库,其中有两张表 employee和 department. 1 ...

  6. 【MySQL基础教程】事务详细介绍

    前言 本文为 [MySQL基础教程]事务 相关知识,下边将对事务简介,事务操作(包括:未控制事务,控制事务),事务四大特性,并发事务问题,事务隔离级别等进行详尽介绍~

  7. 【MySQL基础教程】DML语句详细介绍

    前言 本文为 [MySQL基础教程]DML语句详细介绍 相关知识,DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增.删.改操作.下 ...

  8. 【MySQL基础教程】DDL语句详细介绍

    前言 本文为 [MySQL基础教程]DDL语句 相关内容进行介绍,下边将对数据库操作(包括:查询所有数据库.查询当前数据库.创建数据库.删除数据库.切换数据库等),表操作(包括:查询创建.数据类型.修 ...

  9. MySQL基础教程:知识点汇总

    MySQL常用知识点.函数汇总 MySQL基础教程:知识点汇总_mysql知识点梳理 一文学会使用MYSQL数据库,MySQL常用操作 MySQL数据库表的相关操作 MySQL数据库的基本查询 MyS ...

最新文章

  1. 张杰和机器人_《80后脱口秀》吐槽高考 张杰化身“机器人”
  2. 揭密 extern C
  3. 【深度学习】自然场景中文汉字数据集下载
  4. SpringBoot注解大全(转)
  5. bzoj 1023: [SHOI2008]cactus仙人掌图(仙人掌求直径)
  6. nexus和maven
  7. 2022-2028全球全站仪市场现状及未来发展趋势
  8. Matlab帮助文档打开和命令窗口中文显示设置
  9. ajax post forbidden,解决 Ajax 发送 post 请求出现 403 Forbidden 的三种方式
  10. 机器人阿郎_机械人阿郎
  11. Twitter、Google背后的“卖水人”,力盟科技也来港股分一杯羹?
  12. 多机器人编队人工势场法协同避障算法原理及实现
  13. 软件测试工资一般是多少?
  14. Linux基本bash命令(持续更新)
  15. java基于接口的动态代理
  16. python实现Dice系数
  17. 人生的悲哀莫过于:求而不得,舍而不能,得而不惜
  18. 汉诺塔问题详解 递归实现 C语言
  19. 计算机工程在铁路上能做什么,值得推荐的4个“交通”专业,毕业后直接进入铁路系统,工作不愁...
  20. 如何节约手游制作成本?揭秘CocoStudio编辑器强悍功能

热门文章

  1. WasmEdge Book 文档贡献翻译征招募|赢树莓派、开源贡献证书
  2. 多文件实现图书管理系统
  3. 计算机博士复试英语自我介绍,博士复试英语自我介绍
  4. 5G真的有那么好吗?4G+5G多网聚合才是优秀执行方案
  5. 从0开始的GNN导学课程笔记
  6. 自动积分制系统中的积分奖励设置
  7. 一体化污水处理设备的三种污水处理工艺详解
  8. javaweb开发过程中小工具系列之支持事务的JdbcUtils
  9. Mybatis的复习(一)
  10. P8441 旭日东升(二维数点经典套路)