Convierta datos de blob en formato de texto en MySQL
-
el tipo de datos
BLOB
en MySQL - Crear una base de datos en MySQL
-
Use la función
CONVERT()
para convertir datos de blob en texto en MySQL -
Utilice la función
CAST()
para convertir datos de blob en texto en MySQL
Este artículo se centrará en el tipo de datos BLOB
en las bases de datos MySQL. Aprenderemos sobre el tipo de datos BLOB
en profundidad y discutiremos sus diversos tipos.
Más adelante en el artículo, revisaremos diferentes formas de convertir datos del campo blob a un formato no binario.
el tipo de datos BLOB
en MySQL
Los objetos binarios grandes (BLOB
) pueden contener un rango variable de información. Es un tipo de tipo de datos en MySQL que proporciona almacenamiento binario de archivos o imágenes.
Hay cuatro tipos diferentes: TINYBLOB
, BLOB
, MEDIUMBLOB
y LONGBLOB
.
La principal distinción entre las cuatro categorías es el volumen de datos que pueden almacenar. LONGBLOB
, como su nombre lo indica, puede contener la mayor cantidad de datos, mientras que TINYBLOB
puede tener la menor cantidad.
Los valores BLOB
se manejan como cadenas binarias (cadenas de bytes). Tienen un conjunto de caracteres binarios, la clasificación, la comparación y la clasificación se realizan con la ayuda de los valores numéricos de los bytes en los valores de la columna.
TINYBLOB
puede almacenar un máximo de 255 bytes.BLOB
puede almacenar un máximo de 65535 bytes, es decir, 64 KB de datos.- Un
MEDIUMBLOB
puede almacenar un máximo de 16777215 bytes, es decir, 16 MB de datos. - Un
LONGBLOB
puede almacenar un máximo de 4294967295 bytes, es decir, 4 GB de datos.
Crear una base de datos en MySQL
Comencemos por crear una base de datos en MYSQL. Usaremos MySQL Shell a lo largo de este artículo para interactuar con la base de datos.
Mantente enfocado y sigue los pasos para entenderlo claramente.
Esta pantalla aparece la primera vez que iniciamos MySQL Shell. Es posible que haya notado que JS está escrito con MySQL, lo que indica que actualmente se encuentra en el modo de procesamiento de JavaScript.
Dado que deseamos ejecutar sentencias SQL, primero debemos cambiar al modo SQL antes de ejecutar los comandos.
Para hacer esto, escriba \sql
y presione Enter.
Ahora el modo SQL está activado. Ahora necesitamos conectar el Shell con el servidor MySQL, y luego podemos escribir y ejecutar los comandos SQL.
Para la conexión escribimos \connect root@localhost
y presionamos Enter. Aquí, root
es el nombre de usuario que configuró al instalar MySQL Shell.
Después de presionar Enter, le pedirá la contraseña que ingresó durante la instalación. Escriba la contraseña y su conexión estará activa.
Observe el mensaje que está escrito en la consola. Indica que no se ha elegido ninguna base de datos.
Vamos a crear uno para usar. Para crear una base de datos, escriba crear tecnología de base de datos
, donde tecnología
es el nombre de la base de datos.
Eres libre de usar cualquier nombre que elijas. Debemos especificar qué base de datos debe usar Shell después de crear la base de datos.
Para seleccionar una base de datos, ingrese el comando: use tech
.
Ahora puede ver que tech
está escrito antes de SQL
, lo que significa que actualmente estamos en la base de datos de tecnología y podemos ejecutar las consultas directamente.
Vamos a crear una tabla en la base de datos tech
con algunos campos del tipo de datos BLOB
. Para crear una tabla, escriba el siguiente comando en el Shell:
CREATE TABLE BLOB_DEMO
(
FIRST_NAME VARCHAR(20),
LAST_NAME VARCHAR(20),
AGE INT,
DESCRIPTION BLOB
);
Se creará la tabla. Hemos especificado el tipo de datos del campo Descripción
como un BLOB
.
Mientras trabajamos en MySQL Shell, observaremos el comportamiento del tipo de datos BLOB
insertando algún texto en él. Para insertar los datos en la tabla, escriba el siguiente comando en el Shell.
INSERT INTO BLOB_DEMO VALUES
(
"WILLIAM",
"JOHN",
27,
"William John is a computer scientist."
),
(
"BEN",
"MARK",
32,
"Ben is a doctor. He lives in America."
);
Los datos ahora se insertan en la tabla. Busquemos todas las filas de la tabla.
Para recuperar todos los datos de la tabla, escriba el siguiente comando en el Shell:
SELECT * FROM BLOB_DEMO
Producción:
Observe la columna DESCRIPCIÓN
. Como discutimos anteriormente, el comportamiento del tipo de datos BLOB
es que maneja los datos como cadenas binarias, y lo que vemos aquí son los datos codificados en binario.
Ahora, el punto de enfoque es cómo podemos recuperar nuestros datos legibles reales en formato de texto o no binario. MySQL nos ha proporcionado dos métodos para realizar esta tarea.
Veámoslos en detalle a continuación.
Use la función CONVERT()
para convertir datos de blob en texto en MySQL
MySQL proporciona una función CONVERT()
que convierte un valor en un tipo específico. Convierte datos entre diferentes conjuntos de caracteres.
La sintaxis de la función CONVERTIR()
es:
CONVERT(expr USING transcoding_name)
```.
Si `expr` es NULL, la función devuelve NULL.
Escriba el siguiente comando en el Shell para obtener los datos del campo de descripción en formato no binario.
```sql
SELECT CONVERT(DESCRIPTION USING UTF8) FROM BLOB_DEMO
Producción:
Un punto notable aquí es la advertencia dada por Shell. En el lanzamiento futuro, UTF8
será un alias de UTFMB4
.
Es bueno usar UTFMB4
para no tener ambigüedades.
Utilice la función CAST()
para convertir datos de blob en texto en MySQL
MySQL nos proporciona otra función llamada CAST()
que arroja un valor como un tipo específico.
La sintaxis de la función CAST()
es:
CAST(expression as type)
La función CAST()
convierte cualquier expresión en un valor del tipo deseado.
Para obtener los datos del campo de descripción en un formato no binario, ingrese el siguiente comando en el Shell:
SELECT CAST(DESCRIPTION AS CHAR(10000) CHARACTER SET UTFMB4) FROM BLOB_DEMO
Producción: