Um BLOB é um objeto binario grande que
          pode guardar um montante variado de dados. Os quatro tipos
          BLOB: TINYBLOB,
          BLOB, MEDIUMBLOB, e
          LONGBLOB diferem apenas no tamanho maximo
          dos valores que eles podem guradar. See
          Secção 6.2.6, “Exigências de Armazenamento dos Tipos de Coluna”.
        
          Os quatro tipos TEXT:
          TINYTEXT, TEXT,
          MEDIUMTEXT, e LONGTEXT
          correspondem aos quatro tipos BLOB e têm o
          mesmo tamanho máximo e necessidade de tamanho para
          armazenamento. A única diferença entre os tipos
          BLOB e TEXT é que
          ordenação e comparação são realizadas no modo
          caso-sensitivo para valores BLOB e no modo
          caso-insensitivo para valores TEXT. Em
          outras palavras, um TEXT é um
          BLOB no modo caso-insensitivo. Nenhum caso
          de conversão é feito durante um o armazenamento ou
          recuperação.
        
          Se você atribuir um valor a uma coluna
          BLOB ou TEXT que exceda
          o tamanho máximo do tipo da coluna, o valor é truncado para
          servir ao campo.
        
          Em muitos casos, podemos considerar um campo
          TEXT como um campo
          VARCHAR que pode ser tão grande quando
          desejamos. Da mesma forma podemos considerar um campo
          BLOB como um campo VARCHAR
          BINARY. As diferenças são:
        
          A partir da versão 4.1.0, LONG e
          LONG VARCHAR mapeiam para o tipo de dados
          MEDIUMTEXT. Este é um recurso de
          compatibilidade.
        
          MyODBC define valores
          BLOB como LONGVARBINARY
          e valores TEXT como
          LONGVARCHAR.
        
          Como valores BLOB e TEXT
          podem ser extremamentes longos, você pode deparar com alguns
          problemas quando utilizá-los:
        
              Se você quiser utilizar GROUP BY ou
              ORDER BY em um campo
              BLOB ou TEXT, você
              deve converte-los em objetos de tamanho fixo. O modo
              padrão de se fazer isto é com a função
              SUBSTRING. Por exemplo:
            
mysql>SELECT comentario FROM nome_tabela,SUBSTRING(comentario,20) AS substr->ORDER BY substr;
              Se você não fizer isto, só os primeiros
              max_sort_length bytes de uma coluna
              serão utilizados na ordenação. O valor padrão de
              max_sort_length é 1024; este calor
              pode ser alterado utilizando-se a opção
              -O quando o servidor é inicializado.
              Você pode agrupar uma expressão envolvendo valores
              BLOB ou TEXT
              especificando a posição da coluna ou utilizando apelidos
              (alias):
            
mysql>SELECT id,SUBSTRING(col_blob,1,100) FROM nome_tabela GROUP BY 2;mysql>SELECT id,SUBSTRING(col_blob,1,100) AS b FROM nome_tabela GROUP BY b;
              O tamanho máximo de uma objeto BLOB ou
              TEXTé determinado pelo seu tipo, mas o
              maior valor que você pode, atualmente, transmitir entre o
              cliente e o servidor é determinado pela quantidade de
              memória disponível e o tamanho dos buffers de
              comunicação. Você pode mudar o tamanho do buffer de
              mensagem (max_allowed_packet), mas
              você deve faze-lo no servidor e no cliente. See
              Secção 5.5.2, “Parâmetros de Sintonia do Servidor”.
            
          Note que cada valor BLOB ou
          TEXT é representado internamente por um
          objeto alocado searadamente. Está é uma diferença com todos
          os outros tipos de colunas, para o qual o armazenamento é
          alocado um por coluna quando a tabela é aberta.
        
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

