系统运维系列 之MySQL部分学习整理3

本文详细介绍了MySQL中的存储过程,包括无参和有参的创建与调用,以及IN、OUT参数的区别。同时,文章讲解了JSON类型在数据库中的使用,如JSON_ARRAY_INSERT、JSON_INSERT和JSON_EXTRACT等函数的运用,以及如何通过JSON_CONTAINS进行查询。此外,还提供了存储过程与函数的区别。

1 存储过程
语法结构:
在这里插入图片描述
在这里插入图片描述
举例:
无参
CREATE PROCEDURE sql() SELECT VERSION();
调用:CALL sql();
有参
IN:
DELIMITER //(更改执行符号的命令)
参数与语句中的字段不要重复,不要重复!
如果p_id改成id,则会全部删除!
CREATE PROCEDURE removeCID(IN p_id UNSIGNED)
BEGIN
DELECT FROM class_type WHERE id = p_id;
END
//
调用:
CALL removeCID(10);
//
OUT:
CREATE PROCEDURE removeById(IN p_id INT UNSIGNED,OUT p_nums INT UNSIGNED)
BEGIN
DELECT FROM class_type WHERE id = p_id;
SELECT COUNT(id) FROM class_type INTO p_nums;
END
//
调用:
CALL removeById(10,@num);
SELECT @num;
//
@num相当于全局变量。
多个OUT:
在这里插入图片描述
区别:
存储过程可以返回多个值,功能更复杂,一般独立执行;
函数只能返回一个值,针对性更强,可以作为其它sql语句的组成部分出现。

2 JSON类型
CREATE TABLE json_tab(
id INT AUTO_INCREMENT PRIMARY KEY,
content JSON NOT NULL);
相关函数:
在这里插入图片描述
JSON_ARRAY_INSERT()应用于JSON_ARRAY();
JSON_INSERT()应用于JSON_OBJECT();
在这里插入图片描述
SELECT JSON_EXTRACT(content,’.icp′)FROMjsontab;等价于:SELECTcontent−>′.icp') FROM json_tab; 等价于: SELECT content->'.icp)FROMjsontab;SELECTcontent>.icp’ FROM json_tab;
SELECT JSON_CONTAINS(@a,‘2’,’$[2]’); 字段名,符号,位置

参考资料:
https://www.bilibili.com/video/BV19M4y1u7mF?p=35&spm_id_from=pageDriver 搭建MySQL数据存储架构

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值