Algunas descripciones del tipo json de mysql
Escuché de amigos antes que usan pgsql, lo increíble que es pgsql y lo compatible con json. Luego fui a aprenderlo, pero la compañía usó mysql, y luego cierto proyecto usó la versión 5.7.20 de mysql. Esta versión es compatible con json, por lo que hubo otra ola de aprendizaje. Se acabó la perorata, el siguiente es el texto.
La versión Mysql5.7 admite json, específicamente a partir de 5.7.8. Esto es algo a tener en cuenta y, si puede, lea la documentación oficial.
Dirección del documento oficial de Mysql 5.7 josn
El json_content aquí define el tipo json. Las siguientes son las operaciones básicas. Escribiré algunas funciones json más adelante.
Este es un json relativamente complejo. Hay una matriz dentro de la matriz y otro objeto dentro de OTROS. A continuación insertaré algunos datos más.
Los dos datos siguientes son diferentes del primero y sirven para alguna explicación. Los datos de Li Si tienen todos los campos, pero son ligeramente diferentes de los datos de Zhang San y los datos de Wang Wu no tienen algunos campos.
Tenga en cuenta que cuando usé navicat, descubrí que si selecciono * al verificar si josn está vacío, el campo json definido no se mostrará. Más tarde, cambié a una nueva versión y estuvo bien.
Los resultados son los siguientes:
Los dos sql anteriores pasan los datos flag=0 en el objeto json, luego los dos sql anteriores son equivalentes. La sintaxis de la función JSON_EXTRACT es la siguiente: JSON_EXTRACT(nombre de campo, '$.key'). Esta función se puede utilizar en condiciones o en el momento de la consulta. Los resultados son los siguientes:
Los resultados son los siguientes:
Ajá, sí, la función JSON_EXTRACT se usa para obtener el valor de la clave especificada en el objeto json. Esta es una función muy utilizada.
Ya que anteriormente se menciona el tiempo, expresémoslo en el tiempo. El tiempo en el objeto json se puede comparar directamente con sql, de la siguiente manera:
Los resultados son los siguientes:
Mi condición está limitada a después del 2018-06-05 15:49 :00 ¿No es sorprendente obtener 2 datos? Permítanme explicarlo primero. Esto implica el valor correspondiente a la clave en un objeto json. Al comparar, MySQL convertirá de acuerdo con esta prioridad y luego comparará. Aquí solo se pega la prioridad. escriba usted mismo las reglas de comparación en la documentación.
Las funciones JSON_CONTAINS() y JSON_CONTAINS_PATH() se presentarán a continuación mediante dos consultas.
El siguiente es un ejemplo específico:
Los resultados son los siguientes:
Los resultados son los siguientes:
El método es relativamente simple, puede haber amigos ¿Me preguntarán si los datos que estoy consultando no cumplen con las condiciones? Es muy simple. Por ejemplo, el sql anterior se modifica a:
La consulta se ha introducido mucho por el momento y se puede agregar más adelante.
JSON tiene muchas funciones de modificación. Aquí se muestran algunas que deberían usarse comúnmente.
El resultado de los datos de id=2 se convierte en:
El resultado de los datos de id=2 se convierte en:
Nota: Suponiendo que la clave aquí ya existe, entonces en este momento los existentes no se modificarán y se pueden agregar varios al mismo tiempo.
El resultado de id=2 se convierte en:
El resultado de id=2 se convierte en:
Nota: Suponiendo que la clave especificada no existe, sí no existe. La modificación no es válida y se modifica la modificación existente.
El resultado de datos de id=2 se convierte en:
Como se describe a continuación, el JSON_SET existente se modificará y se agregará el JSON_SET no existente.
A continuación se describen otras funciones.
Por ahora, eso es todo lo que escribiré y agregaré más más adelante. También soy nuevo en mysql json, avíseme si tiene alguna pregunta ~