MySQL 基础教程[6]
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) 。请按要求完成以下操作。
- 使用 SQL语句在tb student表添加一个字段ssex, 数据类型为 char, 长度为 2 , 字段值允许为空值, 缺省值为“女"。
- 写出用 SQL语句删除“计算机”专业的学生参加社团信息的语句。
- 使用SQL语句建立一个视图v_number, 视图的内容是按照专业统计参加学生社团的人数, 设视图包含的列名为 smajor snumber.
- 使用SQL语句在db_gs表上建立外键, 属性 sno参照学生表的sno。
- 新建一个名称为 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。请按 要求完成以下操作。
设计一个名称为 sp_list的存储过程, 根据给定的社团名称, 显示参加该社团的学生姓名、专业, 并写出调用存储 过程的语句。
设计一个名称为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]相关推荐
- MySql基础教程(三)——查询训练
在MySql两轮基础的学习之后,来一波实战演习... 三张表:学生表,课程表,成绩表. 建表详细信息见 MySql基础教程(一) 转载于:https://www.cnblogs.com/zhouerb ...
- php与mysql基础教程第二版_PHP 和 MySQL 基础教程(二)
本篇文章给大家带来的内容是关于PHP 和 MySQL 基础教程(二),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 数据验证 清理空格 trim 函数将清除数据头尾的空格,它的语法是 ...
- php mysql 菜鸟_PHP 和 MySQL 基础教程(四)
PHP 和 MySQL 基础教程(四) 发布时间:2016-06-17 来源: 点击: 次 MySQL 中的 SQL 对于 MySQL ,第一件你必须牢记的是它的每一行命令都是用分号 (;) 作为结束 ...
- MySQL基础教程---创建、查询、备份数据库
文章目录 一.创建数据库 1.指令或者工具创建数据库 2.数据库校对规则 二.查询数据库 三.备份与恢复数据库 1.对数据库的备份 2.对数据表的备份 3.导入一个SQL文件 前期环境基础: MySQ ...
- MySQL基础教程——创建数据库并插入数据
本节将介绍 MySQL 新建数据库,新建表,插入数据以及基本数据类型的相关知识.本节实验将创建一个名为 mysql_shiyan 的数据库,其中有两张表 employee和 department. 1 ...
- 【MySQL基础教程】事务详细介绍
前言 本文为 [MySQL基础教程]事务 相关知识,下边将对事务简介,事务操作(包括:未控制事务,控制事务),事务四大特性,并发事务问题,事务隔离级别等进行详尽介绍~
- 【MySQL基础教程】DML语句详细介绍
前言 本文为 [MySQL基础教程]DML语句详细介绍 相关知识,DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增.删.改操作.下 ...
- 【MySQL基础教程】DDL语句详细介绍
前言 本文为 [MySQL基础教程]DDL语句 相关内容进行介绍,下边将对数据库操作(包括:查询所有数据库.查询当前数据库.创建数据库.删除数据库.切换数据库等),表操作(包括:查询创建.数据类型.修 ...
- MySQL基础教程:知识点汇总
MySQL常用知识点.函数汇总 MySQL基础教程:知识点汇总_mysql知识点梳理 一文学会使用MYSQL数据库,MySQL常用操作 MySQL数据库表的相关操作 MySQL数据库的基本查询 MyS ...
最新文章
- 张杰和机器人_《80后脱口秀》吐槽高考 张杰化身“机器人”
- 揭密 extern C
- 【深度学习】自然场景中文汉字数据集下载
- SpringBoot注解大全(转)
- bzoj 1023: [SHOI2008]cactus仙人掌图(仙人掌求直径)
- nexus和maven
- 2022-2028全球全站仪市场现状及未来发展趋势
- Matlab帮助文档打开和命令窗口中文显示设置
- ajax post forbidden,解决 Ajax 发送 post 请求出现 403 Forbidden 的三种方式
- 机器人阿郎_机械人阿郎
- Twitter、Google背后的“卖水人”,力盟科技也来港股分一杯羹?
- 多机器人编队人工势场法协同避障算法原理及实现
- 软件测试工资一般是多少?
- Linux基本bash命令(持续更新)
- java基于接口的动态代理
- python实现Dice系数
- 人生的悲哀莫过于:求而不得,舍而不能,得而不惜
- 汉诺塔问题详解 递归实现 C语言
- 计算机工程在铁路上能做什么,值得推荐的4个“交通”专业,毕业后直接进入铁路系统,工作不愁...
- 如何节约手游制作成本?揭秘CocoStudio编辑器强悍功能