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. 【微信小程序】05 设备信息 & 请求API

    获取系统信息(设备信息) https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfo.html ...

  2. 【H5】16 表单 其五 表单验证

    在将数据提交到服务器之前,重要的是确保以正确的格式填写所有必需的表单控件.这称为客户端表单验证,可帮助确保所提交的数据符合各种表单控件中规定的要求.本文将引导您通过基本概念和客户端表单验证示例. 先决 ...

  3. 光刻机巨头ASML公布了其最新的品牌短片《站在巨人的肩膀上》

    光刻机巨头ASML公布了其最新的品牌短片<站在巨人的肩膀上>: 荷兰光刻机:ASML使用AI工具midjourney和runway制作宣传片 这个时长1分50秒短片的特别地方在于,它是完全 ...

  4. 大语言模型(LLM)运行报错:cannot import name 'AutoModel' from 'transformers'

    解决方法: 安装pytorch即可,不过需要注意项目的README文件和requirements文件,安装对应版本的pytorch即可.

  5. 【转载】 Tensorflow Guide: Batch Normalization (tensorflow中的Batch Normalization)

    原文地址: http://ruishu.io/2016/12/27/batchnorm/ ------------------------------------------------------- ...

  6. 使用ChatGPT时的信息安全问题

    ChatGPT由于其在对话方面的AI性能的卓越表现已经远远超越了同类的产品,因此赢得了国际科研领域的极大重视,并且也得到了广大用户的支持,但是在人们尽情使用的时候往往忘记了关于ChatGPT的信息安全 ...

  7. Linux系统——删除用户命令

      背景: 负责管理实验室的服务器,近期有保研的大三同学放弃保送到实验室而选择其他实验室,因此需要把之前给他开的账号取消掉. ===================================== ...

  8. oracle执行报错 ORA-01722: 无效数字

    1.背景 执行Oracle存储过程时报错:ORA-01722: 无效数字 2.错误描述 1.对于两个类型不匹配,一个数字类型,一个非数字类型的值进行赋值操作;2.两个类型不匹配的值进行比较操作,比如一 ...

  9. QWen2-72B-Instruct模型安装部署过程

    最近在给我们的客户私有化部署我们的TorchV系统,客户给的资源足够充裕,借此机会记录下部署千问72B模型的过程,分享给大家! 一.基础信息 操作系统:Ubuntu 22.04.3 LTS GPU: ...

  10. 如何将Linux的NIC 名称更改为 eth0 而不是 enps33 或 enp0s25,只要几秒钟

    概述 我们使用Linux系统,网卡名称通常都是eth0,但是有一些新的linux发行版,网卡名字 enps33 或 enp0s25. peng@ubuntu:~$ ifconfig ens33 Lin ...