我的数据库中有一列(student_no)包含JSON数据(String)。
student No: [
{First_name: 'John',
Last_name: 'Wick',
student_id: 1001,
},
{First_name: 'David',
Last_name: 'Stone',
student_id: 1002,
}
如果我只想从数据中读取和显示student_id = 1002
,什么是正确的查询?
我尝试使用student_no.student_id = 1002
,但语法错误。我想通过访问student_id
来访问和显示First_name
、Last_name
。
2条答案
按热度按时间n3h0vuf21#
你可以使用Javascript Array Filter(
.filter
)来解决这个问题。我假设您的表(
my_table
)如下所示:| 身份证|学生编号|
| - ------|- ------|
| 1个|[{"名字":"约翰"、"姓氏":"芯"、"学生ID":1001},{"名字":"大卫"、"姓氏":"石头","学生_id":1002年]|
要从
student_no
列(student_id
的对象数组)获取数据,只需使用JSON_TABLE
查询,如下所示:输出将为:
| 名字|姓氏|学生标识|
| - ------|- ------|- ------|
| 大卫|石头|小行星1002|
368yc8dk2#
JSON数据不能用
SELECT
语句解析。你需要用SELECT
查询你想要的列(包括JSON列),然后使用JSON_EXTRACT
函数。查看this link,了解在MySQL中处理JSON数据的好例子。