JSON

什么是json

JSON是一种轻量级的数据交换格式,全称为JavaScript Object Notation(JavaScript对象表示法)。它以易于阅读和编写的文本格式来表示结构化数据,常用于Web应用程序之间的数据传输。

json 组成 json是由对象和数组组成的

操作

  1. 插入数据
  • 数组 json_array(值1,值2,…)
  • 对象 json_object(建1,值1,建2,值2,…)
insert into 表名 values(字段1,字段2,数组 json_array(1,2,...), json_object(1,1,2,2,..))
  1. 查询
  • json_extract(字段名,“$.key”)
  • json_keys(字段) 查询key
select 字段1,字段2,字段3,字段4,...json_extract(json字段,"$.key") from 表名;
 select i字段1,字段2,字段3,字段4,...->"$.key" from 表名;
  1. 修改
    josn_set(““字段””,‘“$.key”’,‘值’)
update 表名 set  字段名 = json_set(字段名,"$.key","需改的数据1") where id =1
  1. 函数搜索
  • JSON_CONTAINS (字段,值)
  • JSON_CONTAINS (字段,值,‘$.key’)
SELECT * FROM 表名 WHERE JSON_CONTAINS(json字段中的具体参数, '"查找的数据"');
SELECT * FROM person WHERE JSON_CONTAINS(json字段中的具体参数,'"查找的数据"','$.key')

注意: 值需要另外加引号,否则报错。

视图

  1. 视图概念:
  • 视图可以由数据库的一张或者多张表中的数据组成的,可以对视图中的数据进行增删改查操作,视图可以理解成一张虚拟表,当数据库表中的数据发生变化的时候,视图中的数据也跟着发生变化
  1. 使用
create view  视图名称  as  sql语句(可以是多表查询)
CREATE VIEW pv as select id,username,hobby,friend from person
CREATE VIEW pv1(uname,gf) as select username,friend from person
CREATE VIEW pv as select id,username,hobby,friend from person WHERE JSON_CONTAINS(hobby, '"游戏"');

  1. 修改视图
create or replace  view pv1 (username,girlfriend,hb) as select username,friend ,hobby from person
select * from pv1
  1. 插入数据
insert into pv1 (username,girlfriend,hb) VALUES ('条件',json_object("name","a"),JSON_ARRAY("插入数据1","插入数据2"))
  1. 删除数据
delete from pv1 where 删除条件

存储过程

1 介绍

​ 存储过程是一组预先编译的SQL语句,被命名并存储在数据库中。它们通常由数据库管理员或开发人员编写,并可以包含控制结构(例如条件、循环等)和输入/输出参数。存储过程可以像函数一样被调用,但它可能不返回值,也可以返回多个结果集。

2 使用`
DELIMITER //
CREATE PROCEDURE procedure_name ([IN | OUT | INOUT] parameter_name data_type, ...)
BEGIN
    -- 存储过程的SQL语句
END //
DELIMITER ;
DELIMITER //
CREATE PROCEDURE GetStudentNameById(IN student_id INT, OUT student_name VARCHAR(255))
BEGIN
    SELECT name INTO student_name FROM student WHERE id = student_id;
END //
DELIMITER ;

-- 调用存储过程,并将结果保存到@name变量中
CALL GetStudentNameById(10, @name);
-- 查看存储过程返回的结果
SELECT @name;

2.存储过程的调用

-- 调用存储过程,并将结果保存到@name变量中
CALL GetStudentNameById(10, @name);
-- 查看存储过程返回的结果
SELECT @name;
  1. 查看存储过程
SHOW PROCEDURE STATUS WHERE db = '数据库的名字';
SHOW CREATE PROCEDURE GetStudentNameById
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值