0

Imagens no MySQL

logo_mysql_gr

Trabalhando com Imagens no MySQL

Nesta postagem veremos uma forma de se trabalha com o armazenamento de imagens no MySQL. Para isso devemos conhecer um pouco o tipo de dado BLOB.

Tipos de Campo Blob (Binary Large Object)

Os campos de tipo blob são campos criados para armazenar qualquer tipo de informação em formato binário dentro de uma tabela no banco de dados. Os campos BLOBs na verdade são campos do tipo TEXT sendo que o BLOB não são case-sensitive como os campos de tipo TEXT.

Restrições dos campos BLOB

  • Não podem ser chaves primárias (excluindo Tinyblob);
  • Não é possível usar os comandos GROUP e SORT com campos blob;
  • São reconhecidos como um LONGVARCHAR para drivers ODBC.

No MySQL existem 4 definições de campos BLOBs, seguem elas:

  • TINYBLOB - armazena 255 caracteres (8 bits) mais 1 de controle;
  • BLOB - armazena até 16535 caracteres (16 bits) mais 2 de controle;
  • MEDIUMBLOB - armazena até 16777216 caracteres (24 bits) mais 3 de controle;
  • LONGBLOB - armazena até 4294967295 caracteres (32 bits) mais 4 de controle.

Criando uma tabela para armazenar imagens

 Inserindo uma imagem na tabela

Note que utilizo o LOAD_FILE para buscar um arquivo no diretório c:/tmpfotos, ao executar o insert é salvo na base o binário da foto.

Selecionando e salvando em um Diretório

Para buscar e salvar a foto em um diretório verifique se o usuário tem permissão para gravar no mesmo, além de verificar senão existe um arquivo com o mesmo nome. Nos próximos posts uma demonstração com o php.

 

Paulo R. Marinho

Deixe uma resposta

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

− 1 = 1