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

被折叠的 条评论
为什么被折叠?



