Aqui, vamos entender o funcionamento dos tipos de dados do PostgreSQL varchar, o que nos permite armazenar o caractere de comprimento ilimitado. E também vemos exemplos do tipo de dados Varchar e espaços.
Qual é o tipo de dados PostgreSQL Varchar?
No PostgreSQL, o tipo de dados Varchar é utilizado para manter o caractere de comprimento infinito. E ele pode manter uma string com um comprimento máximo de 65.535 bytes.
Em outras palavras, podemos dizer que o tipo de dados do PostgreSQL Varchar usa o tipo de dados do caractere, que é significado como VARCHAR.
- Mais devemos usar os tipos de dados Varchar e Text. Se queremos que o PostgreSQL verifique o comprimento, então usamos o VARCHAR(n).
- No PostgreSQL, a ilustração varchar como Varchar (n), onde n é usado para significar o limite do comprimento do caractere. Se n não é descrito, o padrão é Varchar que tem comprimento infinito.
- Se tentarmos obter uma string mais longa na coluna especificada com Varchar(n), o PostgreSQL ocorre um erro na saída.
- Still, temos uma exceção se os caracteres adicionais forem todos espaços, então o PostgreSQL irá aparar os espaços até o comprimento máximo (n) e armazenar a string.
- PostgreSQL irá verificar e levantar um erro se definirmos o especificador de comprimento para o tipo de dado Varchar ou se tentarmos inserir mais de n caracteres na coluna Varchar(n).
Nota: Um tipo de dado varchar é uma string de comprimento variável que pode conter caracteres especiais, números e letras. E n armazena texto cujo comprimento pode ter um máximo de 0 a 65535 caracteres.
Sintaxe do tipo de dados PostgreSQL Varchar
A sintaxe do tipo de dados PostgreSQL Varchar é a seguinte:
Exemplos do tipo de dados PostgreSQL Varchar
Deixe-nos ver diferentes exemplos para entender como o tipo de dados PostgreSQL Varchar funciona.
Para isso, vamos criar uma nova tabela de nome Varchar_demo com a ajuda do comando CREATE e inserindo alguns valores usando o comando INSERT.
Vamos criar tabelas Varchar_demo na base de dados da Organização usando o comando CREATE:
Saída
Após a execução bem sucedida do comando acima, a tabela Varchar_demo foi criada, como mostrado na imagem abaixo:
Após a tabela Varchar_demo ter sido gerada, vamos inserir alguns valores nela usando o comando INSERT.
Output
Após implementar o comando acima, vamos obter a seguinte saída, o PostgreSQL vai emitir um erro que “o valor é muito longo para digitar caracteres variando (1)”.
Isso significa que o tipo de dado da coluna P é VARCHAR (1), e onde estamos tentando inserir uma string com três caracteres em uma coluna em particular como podemos observar na captura de tela abaixo:
Para resolver o erro acima, usaremos o comando abaixo como segue:
Saída
Ao executar o comando acima, o PostgreSQL reemita um erro semelhante para a coluna Q, o que significa que o tipo de dados da coluna Q é VARCHAR (10). Em contraste, o número de caracteres inseridos é superior a 10, como podemos observar na captura de tela abaixo:
Hence, para resolver os dois erros acima, vamos usar o comando abaixo:
Output
Após executar o comando acima, vamos obter o seguinte resultado: o valor foi inserido com sucesso na tabela Varchar_demo.
Como podemos ver na captura de tela acima, inserimos com sucesso os valores das colunas P e Q.
Após a criação e inserção dos valores da tabela Varchar_demo, iremos utilizar o comando SELECT para retornar todas as linhas da tabela Varchar_demo:
Output
Após a implementação do comando acima, obteremos o seguinte resultado onde podemos ver que ambos os valores da coluna P e da coluna Q foram inseridos com sucesso na tabela Varchar_demo.
Exemplo 2
Deixe-nos ver mais um exemplo para aprender o tipo de dados do Varchar em detalhe. Estamos criando uma nova tabela como Varchar_demo2 com a ajuda do comando CREATE e inserindo alguns valores usando o comando INSERT.
Vamos criar o Varchar_demo2 em um banco de dados similar ao acima que é Organização usando o comando CREATE:
Saída
A tabela Varchar_demo2 foi criada com sucesso após a execução do comando acima, como mostrado na captura de tela abaixo:
Após a tabela Varchar_demo2 ter sido gerada, podemos inserir alguns valores nela usando o comando INSERT.
Saída
Após implementar o comando acima. PostgreSQL dá a mensagem de erro “o valor é muito longo para o tipo Character (1)”. A saída explica mais claramente.
Exemplo do PostgreSQL VARCHAR e Espaços
PostgreSQL não estende o espaço para valores varchar quando armazenado, e o PostgreSQL também toma os espaços de fuga quando eles armazenam ou recuperam valores Varchar.
Para isso, veremos o exemplo abaixo para entender onde no comando Insert, e adicionamos valores na coluna Name na tabela Varchar_demo2, que criamos no exemplo acima:
Output
Após executar o comando acima, teremos o seguinte resultado: o valor foi inserido com sucesso na tabela Varchar_demo2.
Após criar e inserir os valores da tabela Varchar_demo2, vamos utilizar o comando SELECT para recuperar os valores da tabela Varchar_demo2:
Output
Após implementar o comando acima, vamos obter o seguinte resultado onde o PostgreSQL contém o espaço de arrasto na contagem do comprimento, uma vez que não aumenta o comprimento da coluna.
Se tentarmos inserir um valor Varchar com espaços de arrasto que ultrapassaram o comprimento da coluna, e o PostgreSQL truncará os espaços de arrasto. Além disso, o PostgreSQL levanta um aviso. Como mostramos no exemplo abaixo:
Output
Na execução do comando acima, obteremos o resultado abaixo:
No comando acima, o comprimento do valor inserido é seis na coluna Name. E o valor ainda é inserido na coluna. No entanto, o PostgreSQL corta o espaço de arrasto antes de adicionar o valor.
Podemos verificá-lo com a ajuda do seguinte comando, onde o comando Insert é adicionado com sucesso.
Output
Depois de implementar o comando acima, obteremos o resultado abaixo ainda com um aviso que é: Dados truncados para a coluna ‘Nome’ na linha 1:
Diferença entre PostgreSQL CHAR e PostgreSQL VARCHAR Tipo de Dados
Os tipos de dados PostgreSQL CHAR e VARCHAR são ambos em caracteres ASCII. Eles são praticamente similares mas diferentes no armazenamento e obtenção dos dados do banco de dados.
A tabela a seguir destaca as diferenças essenciais entre CHAR e VARCHAR tipo de dados:
PostgreSQL CHAR tipo de dados | PostgreSQL VARCHAR tipo de dados |
---|---|
PostgreSQL suporta alocação de memória estática para o tipo de dados Char. | O PostgreSQL suporta alocação de memória dinâmica para o tipo de dados Varchar. |
O tipo de dados Char também é conhecido como Character. | O tipo de dado Varchar também é chamado de Caractere variável. |
O tipo de dado Char não pode conter mais de 255 caracteres. | O tipo de dado Varchar pode conter até 65535 caracteres. |
O tipo de dado Char armazena os valores em comprimento fixo, que representamos ao criar uma tabela. | O tipo de dado Varchar armazena os valores em uma cadeia de comprimento variável com um ou dois bytes de prefixo de comprimento. |
Pode ser preenchido com espaço para conter o comprimento especificado. | Não pode ser preenchido com nenhum caractere, com espaço, quando eles são armazenados. |
Overview
Na seção de tipos de dados do PostgreSQL Varchar, nós aprendemos os seguintes tópicos:
- O Varchar datatype usa para tipos de caracteres de comprimento variável.
- Se queremos verificar o comprimento da string (n) antes de inseri-lo ou atualizá-lo na coluna, podemos usar o tipo de dados Varchar(n).
- Usamos o tipo de dados PostgreSQL Varchar e espaços.