"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo extraigo datos JSON de columnas MySQL mediante consultas?

¿Cómo extraigo datos JSON de columnas MySQL mediante consultas?

Publicado el 2024-11-08
Navegar:993

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

Extracción de datos JSON en MySQL con consultas

JSON es un formato de datos popular que se utiliza para almacenar datos estructurados y cada vez es más común almacenar objetos JSON en columnas de bases de datos. MySQL proporciona varios métodos para extraer datos de columnas JSON, lo que facilita la consulta y el filtrado de datos según campos específicos.

Uso de json_extract() (MySQL 5.7 y superior)

Para las versiones 5.7 y superiores de MySQL, la función json_extract() ofrece una manera conveniente de extraer valores específicos de objetos JSON. Aquí hay un ejemplo:

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

Esta consulta recupera filas donde el campo "título" en la columna JSON coincide con el patrón "%UPC%". Devolvería solo la primera fila de la tabla de muestra proporcionada.

Usando json_unquote() y json_contains() (MySQL 8.0 y superior)

En MySQL 8.0 y posterior , la función json_unquote() se puede usar para eliminar comillas dobles de los valores JSON, y la función json_contains() se puede usar para verificar si un valor específico existe en un objeto JSON. Aquí hay una consulta alternativa:

SELECT user_id, json_data
FROM articles
WHERE json_unquote(json_value(json_data, '$.title')) LIKE '%CPU%';
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3