How to create and insert a JSON object using MySQL queries?(如何使用 MySQL 查询创建和插入 JSON 对象?)
问题描述
我正在尝试创建一个 JSON 对象,然后将其中的值读取到 MySQL 表中.但是我遇到了错误,而且我对 JSON 和 MySQL 都是新手.
I'm trying to create a JSON object and then read the values from it into MySQL table. But I'm facing errors and I'm new to both JSON and MySQL.
SET @j = '{"key1": "value1", "key2": "value2"}';
CREATE TABLE Person (name int,id int);
INSERT INTO Person (name,id) SELECT * FROM OPENJSON(@j) WITH (name int,id int);
推荐答案
在创建表时将字段设置为 JSON 数据类型.
On creating table set your field as JSON datatype.
CREATE TABLE `person` (
`name` json DEFAULT NULL
);
并在其中插入 JSON 数据,
And Insert JSON data into it,
INSERT INTO `person` (`name`)
VALUES ('["name1", "name2", "name3"]');
或者通过Key:Value
INSERT INTO person VALUES ('{"pid": 101, "name": "name1"}');
INSERT INTO person VALUES ('{"pid": 102, "name": "name2"}');
选择 JSON 数据,
Select JSON data,
SELECT * FROM `person` WHERE JSON_CONTAINS(name, '["name1"]');
注意:仅支持使用 InnoDB 的 MySQL 5.7(或更高版本).
这篇关于如何使用 MySQL 查询创建和插入 JSON 对象?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何使用 MySQL 查询创建和插入 JSON 对象?


基础教程推荐
- 带有WHERE子句的LAG()函数 2022-01-01
- 带更新的 sqlite CTE 2022-01-01
- ORA-01830:日期格式图片在转换整个输入字符串之前结束/选择日期查询的总和 2021-01-01
- 从字符串 TSQL 中获取数字 2021-01-01
- MySQL根据从其他列分组的值,对两列之间的值进行求和 2022-01-01
- 如何在 CakePHP 3 中实现 INSERT ON DUPLICATE KEY UPDATE aka upsert? 2021-01-01
- while 在触发器内循环以遍历 sql 中表的所有列 2022-01-01
- 使用 VBS 和注册表来确定安装了哪个版本和 32 位 2021-01-01
- CHECKSUM 和 CHECKSUM_AGG:算法是什么? 2021-01-01
- MySQL 5.7参照时间戳生成日期列 2022-01-01