MYSQL存储过程-练习1

创建book表

CREATE TABLE `book` (
`boodid` int unsigned NOT NULL AUTO_INCREMENT,
`bookname` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
`author` varchar(30) COLLATE utf8mb4_general_ci NOT NULL,
`info` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
`year_publication` year NOT NULL,
`num` smallint DEFAULT NULL,
PRIMARY KEY (`boodid`),
KEY `idx` (`year_publication`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='书本信息表'

创建存储过程

DELIMITER $
CREATE PROCEDURE insert_book10()
BEGIN
DECLARE i INT;
DECLARE bname VARCHAR(200);
SET i = 1;
WHILE i <=5 DO
IF i = 1 THEN
SET bname=CONCAT("HARRY POTER-魔法石",i);
ELSEIF i = 2 THEN
SET bname=CONCAT("HARRY POTER-密室",i);
ELSEIF i = 3 THEN
SET bname=CONCAT("HARRY POTER-凤凰社",i);
ELSEIF i = 4 THEN
SET bname=CONCAT("HARRY POTER-火焰杯",i);
ELSE
SET bname=CONCAT("HARRY POTER-死亡圣器",i);
END IF; INSERT INTO book(bookname,author,info,year_publication,num) VALUE (bname,"JK罗琳","魔法故事","2000",i);
SET i=i+1;
END WHILE;
END $
DELIMITER;

执行存储过程

1 CALL insert_book10()

检验结果

 1 mysql> select * from book;
2 +--------+---------------------------+----------+--------------+------------------+------+
3 | boodid | bookname | author | info | year_publication | num |
4 +--------+---------------------------+----------+--------------+------------------+------+
5 | 1 | HARRY POTER-魔法石1 | JK罗琳 | 魔法故事 | 2000 | 1 |
6 | 2 | HARRY POTER-密室2 | JK罗琳 | 魔法故事 | 2000 | 2 |
7 | 3 | HARRY POTER-凤凰社3 | JK罗琳 | 魔法故事 | 2000 | 3 |
8 | 4 | HARRY POTER-火焰杯4 | JK罗琳 | 魔法故事 | 2000 | 4 |
9 | 5 | HARRY POTER-死亡圣器5 | JK罗琳 | 魔法故事 | 2000 | 5 |
10 +--------+---------------------------+----------+--------------+------------------+------+
11 5 rows in set (0.00 sec)


MYSQL存储过程-练习1的更多相关文章

  1. MySQL存储过程(转)

    一.MySQL 创建存储过程 "pr_add" 是个简单的 MySQL 存储过程,这个存储过程有两个 int 类型的输入参数 "a"."b" ...

  2. MySql存储过程

    MySQL 存储过程 ```sql CREATE PROCEDURE myprocedure (IN para01 INTEGER) BEGIN DECLARE var01 CHAR(10); IF ...

  3. mysql存储过程和存储函数

    mysql存储过程和存储函数 存数函数代码示例: DROP PROCEDURE IF EXISTS calc_ci_day_suc_rate; delimiter // CREATE FUNCTION ...

  4. mysql存储过程编写-入门案例-遁地龙卷风

    (-1)写在前面 这篇文章只是简要的叙述了mysql存储过程编写的基本概念. 我使用的mysql版本是5.7.9-log. 参照<<深入浅出MySQL>>. (0) delim ...

  5. MySQL存储过程动态SQL语句的生成

    用Mysql存储过程来完成动态SQL语句,使用存储过程有很好的执行效率: 现在有要求如下:根据输入的年份.国家.节假日类型查询一个节假日,我们可以使用一般的SQL语句嵌入到Java代码中,但是执行效率 ...

  6. MySQL 存储过程

    MySQL 存储过程 存储过程是通过给定的语法格式编写自定义的数据库API,类似于给数据库编写可执行函数. 简介 存储过程是一组为了完成特定功能的SQL语句集合,是经过编译后存储在数据库中. 存储过程 ...

  7. mysql存储过程详解

    mysql存储过程详解 1.      存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的S ...

  8. PHP调用MYSQL存储过程实例

    PHP调用MYSQL存储过程实例 标签: mysql存储phpsqlquerycmd 2010-09-26 11:10 11552人阅读 评论(3) 收藏 举报 实例一:无参的存储过程$conn = ...

  9. mysql存储过程语法及实例

    存储过程如同一门程序设计语言,同样包含了数据类型.流程控制.输入和输出和它自己的函数库. --------------------基本语法-------------------- 一.创建存储过程cr ...

  10. java, mybatis, 调用mysql存储过程

    Map<String, Object> bindinfo = new HashMap<String, Object>();            bindinfo.put(&q ...

随机推荐

  1. 【Java】SonarLint 疑难语法修正

    规范驼峰命名使用: 提示信息 Local variable and method parameter names should comply with a naming convention 代码片段 ...

  2. 【转载】 nvidia-smi - Persistence-M (Persistence Mode)

    原文链接: https://blog.csdn.net/chengyq116/article/details/103224622 版权声明:本文为CSDN博主「Yongqiang Cheng」的原创文 ...

  3. ChatGPT到底有用没用?—— 个人观点:有用,但不多

    今天接到在大连某高校任职的师弟电话,师弟十分喜欢用ChatGPT,尤其是其文字自动生成的功能,这对于我们这种文字工作者来说简直就是"福音",但是我对这个观点却是有所保留. 当年区块 ...

  4. CUDA11.3编译pytorch2.0.1报错:error: ‘nvmlProcessInfo_v1_t’ was not declared in this scope

    问题如题: CUDA11.3编译pytorch2.0.1报错:error: 'nvmlProcessInfo_v1_t' was not declared in this scope 解决方法参考: ...

  5. 【转载】 机器人真·涨姿势了:比肩人类抓取能力,上海交大、非夕科技联合提出全新方法AnyGrasp

    原文地址: https://developer.aliyun.com/article/822654 ================================================= ...

  6. cdq分治 提高篇

    优化动态规划 序列 首先要会最长上升子序列的转移,这里就不说了. 我们 \(i\) 位置的初始值为 \(a_i\),可能变成的最大值为 \(mx_i\),可能变成的最小值为 \(mn_i\). 然后如 ...

  7. .NET 8 中利用 MediatR 实现高效消息传递

    前言 MediatR 是 .NET 下的一个实现消息传递的库,轻量级.简洁高效,用于实现进程内的消息传递机制.它基于中介者设计模式,支持请求/响应.命令.查询.通知和事件等多种消息传递模式.通过泛型支 ...

  8. FFT 高精度乘法模板

    #define L(x) (1 << (x)) const double PI = acos(-1.0); const int N = 1e7 + 10; double ax[N], ay ...

  9. Linux驱动小技巧 | 利用DRIVER_ATTR实现调用内核函数

    1. 前言 很多朋友在调试驱动的时候,都会遇到这样一个场景: 修改一个参数,然后调用某个内核中的函数. 比如将某个gpio的值拉高/拉低,修改某个寄存器的值等等. 如果每一个参数都通过字符设备的ioc ...

  10. 【CMake系列】06-项目结构与输出路径管理

    为了对大型项目实现更好的管理[模块化协作开发等等],cmake 提供了很多指令,可以对项目的结构进行调整.管理,便于项目的合理规划.本文我们要学习的就是 项目结构的设置,以及 构建程序等 输出路径的设 ...