mysql - 如何使用 MySQL 查询创建和插入 JSON 对象?

标签 mysql json nosql sql-update sql-insert

我正在尝试创建一个 JSON 对象,然后将其中的值读入 MySQL 表中。但是我遇到了错误,而且我是 JSON 和 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 数据类型。

CREATE TABLE `person` (
  `name` json DEFAULT NULL
);

并将JSON数据插入其中,

INSERT INTO `person` (`name`)
VALUES ('["name1", "name2", "name3"]');

或者通过Key:Value插入JSON数据

INSERT INTO person VALUES ('{"pid": 101, "name": "name1"}');
INSERT INTO person VALUES ('{"pid": 102, "name": "name2"}');

选择JSON数据,

SELECT * FROM `person` WHERE JSON_CONTAINS(name, '["name1"]');

注意:只有使用 InnoDB 的 MySQL 5.7(或更高版本)支持。

关于mysql - 如何使用 MySQL 查询创建和插入 JSON 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40930896/

相关文章:

php - 如何将 mySQL 中以逗号分隔的字符串值转换为整数

jquery - 从元素中获取 CSS,放入 JSON 数组,更改元素,使用存储的 CSS 数组恢复元素

javascript - 查找并删除列表/数组值 DynamoDB

基于mysql数学的查询

php - 如何在表格中显示搜索结果,同时将其导出为 csv 文件

javascript - 我如何将 Json 数据发布到我的状态 ReactJs 中

java - 将文件存储为 android list 的一部分以进行部署然后打开它?

java - 无法从 Java 应用程序打开 orientdb 数据库

python - ArangoDB 获取或创建文档的最佳方式

php - 图像数据库管理