有没有办法在 MySQL Select 语句中使用 JSON 对象的值?\
mysqlmysqli database更新于 2025/6/12 4:28:17
是的,您可以使用 json_extract()。让我们首先创建一个表 −
mysql> create table DemoTable -> ( -> Data json -> ); Query OK, 0 rows affected (0.63 sec)
使用 insert 命令在表中插入一些记录 −
mysql> insert into DemoTable values('{"Name": "John", "CountryName": "US"}');
Query OK, 1 row affected (0.33 sec)
mysql> insert into DemoTable values('{"Name": "Chris", "CountryName": "UK"}');
Query OK, 1 row affected (0.15 sec)
使用 select 语句显示表中的所有记录 −
mysql> select *from DemoTable;
输出
+----------------------------------------+
| Data |
+----------------------------------------+
| {"Name": "John", "CountryName": "US"} |
| {"Name": "Chris", "CountryName": "UK"} |
+----------------------------------------+
2 rows in set (0.01 sec)
以下是在 MySQL Select 语句中使用 JSON 对象值的查询 −
mysql> SELECT *from DemoTable WHERE json_extract(Data, '$.CountryName') like '%US%';
输出
+---------------------------------------+
| Data |
+---------------------------------------+
| {"Name": "John", "CountryName": "US"} |
+---------------------------------------+
1 row in set (0.00 sec)
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/

