📌  相关文章
📜  如何获取json数据mysql(1)

📅  最后修改于: 2023-12-03 15:09:14.572000             🧑  作者: Mango

如何获取JSON数据MySQL

在MySQL中,可以使用JSON_EXTRACT()函数来获取JSON格式的数据。JSON_EXTRACT()函数的语法如下:

JSON_EXTRACT(json_doc, path[, path] ...)

其中,json_doc参数表示包含JSON格式数据的列或者变量;path参数表示获取JSON数据的路径,可以是一个或者多个,用逗号分隔。

举个例子,假设我们有一个表格users,包含以下记录:

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `info` json DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

INSERT INTO `users` (`info`) VALUES
('{"first_name": "John", "last_name": "Doe", "age": 25, "email": "john.doe@example.com"}'),
('{"first_name": "Jane", "last_name": "Doe", "age": 30, "email": "jane.doe@example.com"}');

要获取id为1的用户的全部信息,可以使用以下SQL语句:

SELECT `info` FROM `users` WHERE `id` = 1;

结果将会是一个JSON格式的字符串:

{"first_name": "John", "last_name": "Doe", "age": 25, "email": "john.doe@example.com"}

如果只想获取该用户的first_namelast_name字段,可以使用以下SQL语句:

SELECT JSON_EXTRACT(`info`, '$.first_name', '$.last_name') as `name` FROM `users` WHERE `id` = 1;

结果将会是一个JSON格式的数组:

["John", "Doe"]

如果想要获取所有用户的信息,可以使用以下SQL语句:

SELECT `info` FROM `users`;

结果将会是一个包含所有用户信息的JSON格式字符串列表。

除了JSON_EXTRACT()函数,MySQL还提供了一系列操作JSON格式数据的函数,例如JSON_ARRAY()JSON_OBJECT()JSON_MERGE(),供开发者使用。

结语

以上就是获取JSON数据MySQL的方法。通过JSON_EXTRACT()函数,我们可以轻松地从MySQL数据库中获取JSON格式的数据。在实际开发中,要根据实际需求来选择合适的函数,以达到更好的效果。