Ir para conteúdo
Fórum Script Brasil
  • 0

Como Salvar Textos Em Um Banco De Dados


B_R_U_N_O

Pergunta

Eu estou fazendo um programa de troca de recados, e os recados seriam salvos em uma tabela em um banco de dados MySQL. Gostaria de saber tipo de campo eu posso usar para salvar os recados na tabela. Já ouvi falar do tipo BLOB, da pra usar ele?? Como é o codigo SQL para adicionar ao campo BLOB ou outro que tenha texto??

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
Gostaria de saber tipo de campo eu posso usar para salvar os recados na tabela. Já ouvi falar do tipo BLOB, da pra usar ele??

você pode usar o blob sim...

Como é o codigo SQL para adicionar ao campo BLOB ou outro que tenha texto??

O SQL é o mesmo...

Insert into tabela (campo) values("sua mensagem aqui...etc......");

abs.

Link para o comentário
Compartilhar em outros sites

  • 0

B_R_U_N_O

Na realidade eu não recomendo o BLOB. Campos tipo BLOB são feitos essêncialmente para armazenamento de abjetos nos bancos de dados (assemelha-se ao tipo bytea e oid do PostGreSQL e do Oracle). Ele serviria, por exemplo, se você fosse armazenar uma imagem no banco de dados.

Os campos desse tipo, além de deixar o seu banco com um peso (tamanho) maior (mesmo contendo somente texto o gerenciador do banco se prepara para receber um objeto, o que aumenta considerávelmente o tamanho do banco) você ficará muit exposto a erros devido a forma de armazenamento. Você, literalmente, estaria usando um barco para voar...

Não sei qual o banco de dados você usa, mas aconselharia varchar (no MySQL, FireBird e InterBase) ou character varyng* (no PostGreSQL). Esses campos não tem um tamanho definido e pode inflar (e desinflar) de acordo com os dados inseridos. Por exemplo: "Se você adicionar a letra 'a' ao campo ele automaticamente irá setar o tamanho=1, se você alterar esse campo para 'a linda maiorça' ele alterará o tamanho do campo automaticamente a contento. Se por sua vez, depois de tudo isso você alterar o campo novamente para 'a' ele voltará a setar o campo automaticamente para o tamanho=1.

Qualquer dúvida posta aí...

*= Eu não lembro se é assim que escreve... mas é algo nesse rumo!

Link para o comentário
Compartilhar em outros sites

  • 0
...e os recados seriam salvos em uma tabela em um banco de dados MySQL
Na realidade eu não recomendo o BLOB. Campos tipo BLOB são feitos essêncialmente para armazenamento de abjetos nos bancos de dados (assemelha-se ao tipo bytea e oid do PostGreSQL e do Oracle). Ele serviria, por exemplo, se você fosse armazenar uma imagem no banco de dados.

Os campos desse tipo, além de deixar o seu banco com um peso (tamanho) maior (mesmo contendo somente texto o gerenciador do banco se prepara para receber um objeto, o que aumenta considerávelmente o tamanho do banco) você ficará muit exposto a erros devido a forma de armazenamento. Você, literalmente, estaria usando um barco para voar...

Não sei qual o banco de dados você usa, mas aconselharia varchar (no MySQL, FireBird e InterBase) ou character varyng* (no PostGreSQL). Esses campos não tem um tamanho definido e pode inflar (e desinflar) de acordo com os dados inseridos. Por exemplo: "Se você adicionar a letra 'a' ao campo ele automaticamente irá setar o tamanho=1, se você alterar esse campo para 'a linda maiorça' ele alterará o tamanho do campo automaticamente a contento. Se por sua vez, depois de tudo isso você alterar o campo novamente para 'a' ele voltará a setar o campo automaticamente para o tamanho=1.

Acho que isso pode ser muito relativo. Minhas observações sobre estas questões:

- Tenho pouco contato com o MySQL, mas quando tive que criar um campo de texto, foi justamente o tipo TEXT que utilizei, porque, aparentemente CHAR e VARCHAR exigem a declaração de um tamanho limite. Dando uma olhada na documentação:

Os Tipos CHAR e VARCHAR (MySQL)

Os Tipos BLOB e TEXT (MySQL)

- No Firebird, pelo menos utilizando o IBExpert, se for utilzado CHAR ou VARCHAR, é necessário declarar o tamanho do campo, ou seja limitá-lo, e qualquer coisa a mais é truncado. Para criar um campo do tipo "TEXT", você tem que declará-lo como BLOB e informar o SUBTYPE 1.

"Sub-type is 1.

This blob field sub-type is designed for the storage and manipulation of text. Typically, this is free-form memo or notes data. Typically you would use this blob field sub-type is for storing large amounts of text data. This is more convenient that a large VARCHAR because, unlike a VARCHAR, there is no 32K limit." (referência)

Sobre vantagens e desvantagens de um tipo e outro (vale a leitura):

To BLOB or to not BLOB (Interbase/Firebird)

Qualquer adendo ou correção é bem vindo

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...