Json(javaScript Object Notation对象表示法)
1.(JavaScript Object Notation)--JavaScript对象表示法,以易于阅读和编写的文本格式来表示结构化数据,常用于Web应用程序之间的数据传输;
2.由键值对组成
1.object对象--用{ }表示,由多个键值对组成,之间用逗号分隔;
对象,hashmap对比
对象: 属性:值
Hashmap: 键:值
2.Array数组--用[ ]表示,有多个值构成,之间用逗号分隔;
3.操作
1.创建json字段
2.插入数据 json_array() json_object()
3.查询
json_extract(字段名,“$.key”)
-> 字段名->“$.key”
json_keys(字段) 查询key
4.修改
json_set("字段","$.key",值); 也可以添加属性
5.删除
json_remove(字段,key)
6.函数搜索
json_contains(字段,值)值是双重引号
eg:SELECT * FROM person WHERE JSON_CONTAINS(hobby, '"游戏"');
视图
1.概念: 视图可以理解成一张虚拟表,当数据库表中的数据发生变化的时候,视图中的数据也跟着发生变化;
2.优点:增加数据的安全性;简化开发人员的操作;
3.使用
1.创建视图:格式--create view 视图名称 as sql查询语句
2.查看视图:在navicat中直接查看视图;
3.修改视图:
create or replace view 视图名称 as sql查询语句;
如果存在视图名称则修改视图,视图不存在,则修改视图;
alter view 视图名称 as sql查询语句;
4.插入语句:
insert into 视图名 () vlues ();
和普通表插入的格式一样,但是视图改变也会将影响原来的表
5.删除数据
delete from 视图名 where 条件;
6.删除视图
drop view if exists 视图名称;
4.当我们改变原表的时候,视图表中的内容也会发生改变;
存储过程
1.介绍:
存储过程是一组预先编译的SQL语句,被命名并存储在数据库中。
存储过程可以像函数一样被调用,但他可能不返回值,也可以返回多个结果集。
2.使用
1.创建存储过程
--格式:(方括号代表可有可无)
delimiter //(用于改变语句分隔符的默认值即罢免';'的作用)
CREATE PROCEDURE procedure_name ([IN | OUT | INOUT] parameter_name data_type, ...)
BEGIN
-- 存储过程的SQL语句
END //
DELIMITER ;
--对格式内各处的注释
procedure(过程)_name:是你给存储过程起的名字;
parameter(参数)_name:是存储过程参数的名字;
in:表示输入参数,接收数据
out:表示输出参数,返回结果
Into:把收到的结果给了后边的返回值
inout:表示即为输入又为输出参数,用于接收值并返回结果;
2.存储过程的调用
--格式:call procedure_name([parameter_value,...]);
--call语句就是用来调用存储过程的;
3.查看存储过程
show procedure status where db='数据库名称';
show create procedure 存储过程的名称;
小练习