在Mysql5.7版本及之后的版本可以使用column->path作为JSON_EXTRACT(column, path)的快捷方式。这个函数可以作为列数据的别名出现在SQL语句中的任意位置,包括WHERE,ORDER BY,和GROUP BY语句。同样包含SELECT, UPDATE, DELETE,CREATE TABLE和其他SQL语句。->左边的参数为JSON数据的列名而不是一个表达式,其右边参数JSON数据中的某个路径表达式。
$sql = 'select * from table where info->"$.name" = "张三"';
这里的info是数据库json格式的字段
还可以对json的字段重命名
$sql = 'select *,JSON_EXTRACT(info, "$.name") AS name from table where name = "张三"';
使用sql语句查询
我这里使用TP3.2 =框架查询
$data = M()->query($sql);