BLOB MySQL

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 BLOBcoluna:

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_privvariá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_privvariá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_datatabela imagesusando 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.pngpelo 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 BLOBcoluna:

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 BLOBcoluna:

Resumo

  • Use MySQL BLOB para armazenar grandes dados binários no banco de dados.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *