@ottilie.farrell Если Вы используете MySQL версию до 5.7 то вероятнее всего нужно будет создать колонку как строка и кодировать в Json перед сохранением и раскодировать обратно после получения данных. Если Вы используете mysql 5.7 и выше то там уже есть json тип данных, посмотрите ниже как можно легко создать колонку JSON и получать данные из нее:
1 2 3 4 5 6 7 8 9 10 |
CREATE TABLE example (id INT, data JSON); INSERT INTO example VALUES (1, JSON_OBJECT('username', 'john', 'age', 18)); select * from example; # Вывод: john SELECT JSON_EXTRACT(data, '$.username') from example; # Вывод: 18 SELECT data->>'$.age' from example; |
@ottilie.farrell
Существует несколько способов хранения JSON в MySQL:
Пример создания таблицы с использованием типа данных JSON:
1 2 3 4 |
CREATE TABLE my_table ( id INT PRIMARY KEY, data JSON ); |
Пример вставки данных в таблицу:
1
|
INSERT INTO my_table (id, data) VALUES (1, '{"name": "John", "age": 30}'); |
Пример извлечения данных:
1
|
SELECT data->>'$.name' as name, data->>'$.age' as age FROM my_table WHERE id = 1; |
В данном примере используется оператор ->>
для извлечения данных из поля data
в формате JSON. Функция JSON_EXTRACT()
может быть использована для более сложных запросов извлечения данных.