mysql创建图书馆系统的过程_MySQL调用存储过程,创建定时任务

3053537fc1695b11768d15e95d3aca29.png

创建数据表

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

CREATE TABLE `test_demo_table`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;

创建函数或者存储过程

存储过程

基本语法

create procedure name ([params])

UNSIGNED [characteristics] routine_body

params : in|out|inout 指定参数列表 代表输入与输出

routine_body: SQL代码内容,以begin ........ end

characteristics: 指定存储过程特性,包含5种

1 DETERMINISTIC 不确定的

2 NO SQL 没有SQl语句,当然也不会修改数据

3 READS SQL DATA 只是读取数据,当然也不会修改数据

4 MODIFIES SQL DATA 要修改数据

5 CONTAINS SQL 包含了SQL语句

Demo

CREATE DEFINER = `root` @`%` PROCEDURE `test_1`() MODIFIES SQL DATA 
BEGIN
	 INSERT INTO test_demo_table ( id, `name` ) VALUES ( 0, 'xiaosan' );
END
存储过程函数中可以通过mysql查询结果为其参数复制: 其语句为select .... into

函数

基本语法

CREATE FUNCTION name ([params])

UNSIGNED [characteristics] routine_body

注意: 创建函数需要注意3个地方,

  1. RETURNS: 需指定返回类型
  2. UNSIGNED NO SQL 需指定存储过程特性

3.return: 返回需要的数据

Demo

CREATE DEFINER=`root`@`%` FUNCTION `test_2`(f_id INT(3)) RETURNS VARCHAR(20) CHARSET utf8mb4
BEGIN
DECLARE o_name VARCHAR(20);
SELECT name INTO o_name FROM test_demo_table WHERE id = f_id;
RETURN o_name;
END
DEFINER:指明谁有权力来执行。
DELIMITER 的使用
”DELIMITER //“ 表示设置“//”符号为结束语,因为mysql中默认语句结束为分号‘;’,为了避免存储过程与mysql语句符号冲突,所以有时使用DELIMITER来改变结束语符号,要配合end //来使用;
示例:创建一个root账户执行的存储过程,输出给定字符串的长度
declare: 存储过程及函数内部定义变量
default:默认值

查看数据库是否开启了定时任务

# 返回on就是开启了
show variables like '%event_scheduler%';

创建定时任务计划

数据库配置my.cnf里面添加配置信息

# 开启定时任务
event_scheduler=ON

启动定时任务

alter event finish_data on completion preserve enable;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库系统概论课程设计之“图书馆数据库管理系统” ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 小组成员: *** QQ:763157698 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ “图书馆数据库备份文件”使用说明: 1、数据库备份文件还原时,应先将同目录下的备份文件 "LibrarySystem" 放置于“D:\LibrarySystem\”目录下; 2、该数据库使用到的所有数据均备份在同目录下的文件 "LibrarySystem" 中,读者可以根据需要还原数据、测试数据; 3、本课程设计附有“图书馆数据库管理系统的所有源代码”,您可以根据需要在“第四章节”至“第七章节”中进行查看,或查看与本课程设计处于同一目录下的 *.sql 源代码文件! 本图书馆管理系统谨根据实际需求所创建创建有如下八个数据表:Book(图书信息表),Dept(学生系部信息表),Major(学生专业信息表),Student(学生信息表),StudentBook(学生借阅图书信息表),Teacher(教师信息表),TeacherBook(教师借阅图书信息表),RDeleted(读者还书信息表)等。这些数据表结合图书馆数据库中的五个存储过程,即实现了普通图书馆的大部分功能。如读者借阅图书功能(Execute RBorrowBook '读者号','图书分类号'),读者归还图书功能(Execute RReturnBook '读者号','图书分类号'),读者续借图书功能(Execute RRenewBook '读者号','图书分类号'),读者查询图书借阅情况功能(Execute RQueryBook '读者号'),读者检索的图书信息功能(Execute RIndexBook '关键字')等。具体的功能表现皆在“第三章、图书馆管理系统功能图例”中有详细的图例说明。 本图书馆管理系统谨根据实际需要,创建了七个触发器,就此,创作者对这些触发器做如下说明: 1、tri_Book 功能表现:只有在图书馆内相关书籍尚有库存的情况下,读者才可以进行借阅操作 2、tri_SborrowNum 功能表现:控制学生的图书借阅量在5本以内(包括5本) 3、tri_SrenewBook 功能表现:控制学生续借图书次数在3次以内(包括3次) 4、tri_SreturnBook 功能表现:将学生的还书信息插入RDeleted表 5、tri_TborrowNum 功能表现:控制教师的图书借阅量在10本以内(包括10本) 6、tri_TrenewBook 功能表现:控制学生续借图书次数在4次以内(包括4次) 7、tri_TreturnBook 功能表现:将教师的还书信息插入RDeleted表 本图书馆管理系统设计思路较为肤浅,但在一定程度上实现了图书馆数据库管理系统的实用功能。初次设计数据库,其中肯定会有不足之处,还望读者谅解!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值