步骤 1: 创建表
首先,我们需要创建一个包含 JSON 数据类型字段的表。假设我们要创建一个名为 users
的表,其中包含一个名为 info
的 JSON 字段。
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
info JSON
);
以上代码创建了一个名为 users
的表,其中包含 id
和 info
两个字段。id
字段是主键,info
字段是 JSON 类型。
步骤 2: 插入数据
接下来,我们需要向表中插入一些包含 JSON 数据的示例数据。
INSERT INTO users (info)
VALUES ('{"name": "John", "age": 30, "city": "New York"}'),
('{"name": "Alice", "age": 25, "city": "London"}'),
('{"name": "Bob", "age": 35, "city": "Paris"}');
以上代码向 users
表中插入了三条数据,每条数据都包含一个 JSON 对象。
步骤 3: 查询 JSON 字段
现在,我们可以开始查询包含 JSON 字段的数据了。以下是一些常用的查询操作。
查询 JSON 字段的所有数据
要查询 JSON 字段的所有数据,可以使用简单的 SELECT 语句。
SELECT * FROM users;
以上代码将返回 users
表中所有数据。
查询 JSON 字段的特定属性
要查询 JSON 字段的特定属性,可以使用 ->
或 ->>
运算符。
SELECT info->'$.name' AS name, info->'$.age' AS age
FROM users;
以上代码将返回 users
表中每行数据的 name
和 age
属性。
查询 JSON 字段的条件
要查询满足特定条件的 JSON 字段数据,可以使用 WHERE 子句。
SELECT *
FROM users
WHERE info->'$.age' > 30;
以上代码将返回 users
表中 age
大于 30 的数据。
查询 JSON 数组中的值
如果 JSON 字段是一个数组,可以使用 ->>
运算符和 JSON_TABLE
函数来查询数组中的值。
SELECT jt.value
FROM users, JSON_TABLE(info, '$.hobbies[*]' COLUMNS (value VARCHAR(255) PATH '$')) AS jt;
评论 (0)