«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как извлечь данные JSON из столбцов MySQL с помощью запросов?

Как извлечь данные JSON из столбцов MySQL с помощью запросов?

Опубликовано 8 ноября 2024 г.
Просматривать:565

How do I Extract JSON Data from MySQL Columns Using Queries?

Извлечение данных JSON в MySQL с помощью запросов

JSON — это популярный формат данных, используемый для хранения структурированных данных, и хранение объектов JSON в столбцах базы данных становится все более распространенным. MySQL предоставляет несколько методов извлечения данных из столбцов JSON, что упрощает запрос и фильтрацию данных на основе определенных полей.

Использование json_extract() (MySQL 5.7 и выше)

Для версий MySQL 5.7 и выше функция json_extract() предлагает удобный способ извлечения определенных значений из объектов JSON. Вот пример:

SELECT user_id, json_data
FROM articles
WHERE json_extract(json_data, '$.title') LIKE '%CPU%';

Этот запрос извлекает строки, в которых поле "title" в столбце JSON соответствует шаблону "%ПРОЦЕССОР%". Он вернет только первую строку из предоставленного примера таблицы.

Использование json_unquote() и json_contains() (MySQL 8.0 и выше)

В MySQL 8.0 и более поздних версиях , функцию json_unquote() можно использовать для удаления двойных кавычек из значений JSON, а функцию json_contains() можно использовать для проверки наличия определенного значения в объекте JSON. Вот альтернативный запрос:

SELECT user_id, json_data
FROM articles
WHERE json_unquote(json_value(json_data, '$.title')) LIKE '%CPU%';
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3