MySQL – Trabalhando com Blob Fields

Nas matérias anteriores falamos bastante sobre consultas diversas, instalações de aplicativos, etc.

Hoje, vamos implementar um pouco mais, falando sobre Blob Fields.

Não sei você, mas no início de minha carreira eu já passei por uma situação constrangedora, quando precisei inserir uma imagem junto a base de dados e passei um certo tempo estudando, procurando uma solução para resolver o problema!

Se você ainda não passou por esta situação ou se já fez algo similar, mas ainda tem dúvidas, acompanhe conosco esta matéria!

O Que É Blob Fields?

O Campo Blob (Binary Large Object) é um tipo de campo criado para armazenar qualquer tipo de informações em formato binário na tabela.

Por ser um tipo de campo voltado a “Programadores Avançados”, sugerimos usá-lo apenas quando necessário (mesmo assim, se você souber usá-lo).

Dizemos isso pois vários Programadores colocam as imagens diretamente no banco de dados (o teóricamente é mais prático), porém, os problemas de lentidão podem ser constantes!

Claro, existem outros problemas, mas nosso foco aqui não é o de lhe desanimar a usar esta solução e sim explicar a melhor forma de fazer uso dela.

Os Campos Blobs podem ser divididos em:

  • Blob: Armazena até 16535 caracteres (16 bits);
  • LogBlob: Armazena até 4294967295 caracteres (32 bits);
  • MediumBlob: Armazena até 16777216 caracteres (24 bits);
  • TINYBlob: Armazena até 255 caracteres (8 bits);

Antes de darmos início à parte prática, vou apenas finalizar com algumas considerações:

  • Os campos Blob não podem ser chave primária (exceto o TinyBlob);
  • O MySQL trabalha com campos Blob, porém, são interpretados como campos texto (TEXT).
  • OBS.: A única diferença é que esses campos são case sensitive.

Criando As Tabelas Na Base De Dados:

Antes de partirmos para a programação, abra o arquivo script-sql.txt (disponível no ficheiro em anexo) e cole seu conteúdo no Programa utilizado para gerenciamento da base de dados.

OBS.: Neste ficheiro você deverá encontrar o código abaixo:


----- TABELA DE NOTÍCIAS -----

CREATE TABLE `tbl_noticias` (
  `id` int(11) NOT NULL auto_increment,
  `titulo` varchar(150) NOT NULL default '',
  `descricao` varchar(150) NOT NULL default '',
  `texto` text default NULL,
  `imagem` MEDIUMBLOB,
  `status` varchar(10) NOT NULL default '',
  PRIMARY KEY  (`id`)
);

----- INSERINDO CONTEÚDO NA TABELA NOTÍCIAS -----

INSERT INTO tbl_noticias (titulo, descricao, texto, imagem, status ) values("Lorem Ipsum Dolor", "Lorem Ipsum Dolor Lorem Ipsum Dolor", "Lorem Ipsum Dolor Lorem Ipsum Dolor", "teste.gif", "1");

Em nossas matérias de MySQL utilizamos como padrão o MySQLFront. Caso você queira utilizar este programa, clique em SQL Editor e cole o conteúdo do script (conforme imagem abaixo).

Criando a Tabela

Após criar a estrutura da base de dados, vamos inserir conteúdo (Conforme imagem a seguir).

Inserindo conteúdo na Tabela

Selecionando conteúdo na Tabela

OBS.: Veja que na Imagem acima o campo “imagem” aparece em formato “BLOB”.

Bem… espero ter lhe ajudado em algo com este pequeno exemplo.

Fiquei ligado nas próximas matérias de Programação, onde estaremos dando informações mais detalhadas sobre este assunto (relacionado à linguagem de programação).

Envie-nos suas dúvidas! Nosso compromisso é o de sempre lhe ajudar!

ficheiros.zip

Be Sociable, Share!

2 Comentários

  1. Janaina

     Olá, gostei muito de suas aulas e elas ajudaram bastante, mas estou com uma certa dúvida um tanto tola, mas já que sou iniciante preciso decorrer à alguém…bom, estou montando um site onde certa pagina, ao clicar no botão buscar,  vai receber o conteúdo da tabela com 4 campos, sendo eles INT que é a chave primária, varchar que é a descrição e por ultimo blob, para receber um arquivo de áudio mp3, do banco de dados MySQL Wamp Server , o problema é: os dados estão sendo recebidos normalmente mas o som não sai…não sei se meu código está errado ou o que! 
    <o que quero fazer é: quando a pessoa digitar a palavra e mandar buscar, vai aparecer o conteúdo refernte à ela e a gravação em mp3 de como ela se pronuncia.>

    Sei que é uma dúvida tola, mas não tenho mais ao o que recorrer.
    se puder me ajudar eu agradeço muito. Obrigada

  2. Junior

    a Imagem teste.gif precisa estar em que pasta?

Participa! Comenta...