Resumo : neste tutorial, você aprenderá sobre o tipo de dados MySQL BLOB e suas aplicações.
Introdução ao tipo de dados MySQL BLOB
No MySQL, um BLOB (Binary Large Object) é um tipo de dados que permite armazenar grandes dados binários, como imagens, áudio, vídeo e assim por diante. BLOBs são úteis quando você deseja armazenar e recuperar dados em seu banco de dados.
MySQL suporta os seguintes tipos de BLOBs:
- TINYBLOB : Comprimento máximo de 255 bytes.
- BLOB : Comprimento máximo de 65.535 bytes.
- MEDIUMBLOB : Comprimento máximo de 16.777.215 bytes.
- LONGBLOB : Comprimento máximo de 4.294.967.295 bytes.
Ao criar tabelas que armazenam BLOBs, você seleciona o tipo de BLOB apropriado com base no tamanho dos dados binários que planeja armazenar.
Exemplo de tipo de dados MySQL BLOB
Primeiro, crie uma tabela que inclua uma BLOB
coluna:
CREATE TABLE images (
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(255) NOT NULL,
image_data LONGBLOB NOT NULL
);
Linguagem de código: PHP ( php )
Em segundo lugar, mostre o valor da secure_file_priv
variável:
SELECT @@secure_file_priv;
Linguagem de código: CSS ( css )
Saída:
+------------------------------------------------+
| @@secure_file_priv |
+------------------------------------------------+
| C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\ |
+------------------------------------------------+
1 row in set (0.00 sec)
Linguagem de código: JavaScript ( javascript )
A secure_file_priv
variável do sistema restringe os locais no servidor MySQL a partir dos quais a LOAD_FILE()
função pode ler arquivos.
Se você tentar carregar o arquivo de outros locais, a LOAD_FILE()
função retornará NULL.
Terceiro, insira uma imagem binária na image_data
tabela images
usando a LOAD_FILE()
função:
INSERT INTO images (title,image_data)
VALUES ('MySQL tutorial', LOAD_FILE('C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/logo.png'));
Linguagem de código: JavaScript ( javascript )
Certifique-se de substituir C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/logo.png
pelo caminho absoluto real para o seu arquivo de imagem.
Observe que você precisa substituir a barra invertida ( \
) pela barra ( /
) no caminho do arquivo no Windows para que ele funcione corretamente.
Finalmente, recupere os dados binários da BLOB
coluna:
SELECT * FROM images;
Na prática, você costuma usar aplicativos escritos em Python, PHP, Java e assim por diante para ler arquivos no cliente e armazená-los na BLOB
coluna:
Resumo
- Use MySQL BLOB para armazenar grandes dados binários no banco de dados.