Como configurar a chave primária de incrementidade automática PostGresql?

Como configurar a chave primária de incrementidade automática PostGresql?
Pode haver ocasiões em que você constrói e mantém tabelas no PostgreSQL quando você deseja valores específicos para uma coluna que é gerada mediante solicitação. Isso seria particularmente verdadeiro para colunas "id" que atuam como a chave primária da tabela. Felizmente, o pseudo-tipo em série permite fazer uma série inteira de incrementação automática conveniente. Uma série é um tipo de objeto de banco de dados no PostgreSQL que produz uma série de índices ou inteiros. Uma sequência PostGresql produz uma série de números inteiros distintos, tornando -se adequado para ser usado como chave primária ao gerar uma nova tabela. Demonstraremos a você o que Menas de incremento automático no PostgreSQL e usaremos o pseudo-tipo em série ao longo deste guia.

Sintaxe:

A sintaxe geral para a criação da chave primária de incremento automático é a seguinte:

>> Crie tabela tabela_name (serial da ID);

Vamos agora olhar para a declaração de criação de tabela com mais detalhes:

  • PostgreSQL gera uma entidade da série primeiro. Ele produz o próximo valor na série e o define como o valor de referência padrão do campo.
  • PostgreSQL aplica a restrição implícita não nula a um campo de identificação, já que uma série produz valores numéricos.
  • O campo de identificação será alocado como titular da série. Se o campo de identificação ou a própria tabela for omitida, a sequência será descartada.

Para obter o conceito de incremento automático, verifique se o PostgreSQL está montado e configurado em seu sistema antes de continuar com as ilustrações neste guia. Abra o shell da linha de comando postgreSQL da área de trabalho. Adicione o nome do seu servidor no qual você deseja trabalhar, caso contrário, deixou -o como padrão. Escreva o nome do banco de dados que está no seu servidor no qual você deseja trabalhar. Se você não quiser alterá -lo, deixou -o como padrão. Usaremos o banco de dados "teste", é por isso que adicionamos. Você também pode trabalhar na porta padrão 5432, mas também pode alterá -lo. No final, você deve fornecer o nome de usuário para o banco de dados que escolher. Deixe o padrão se você não quiser alterá -lo. Digite sua senha para o nome de usuário selecionado e pressione "Enter" do teclado para começar a usar o shell de comando.

Usando a palavra -chave serial como tipo de dados:

Quando criamos uma tabela, geralmente não adicionamos a série de palavras -chave no campo da coluna primária. Isso significa que precisamos adicionar os valores à coluna da chave primária enquanto estiver usando a instrução Insert. Mas quando usamos a série de palavras -chave em nossa consulta ao criar uma tabela, não precisamos adicionar valores de coluna primária enquanto inserimos os valores. Vamos dar uma olhada nisso.

Exemplo 01:

Crie uma tabela "teste" com duas colunas "id" e "nome". A coluna "ID" foi definida como a coluna de chave primária, pois seu tipo de dados é serial. Por outro lado, a coluna "nome" é definida como o texto que não é o tipo de dados nulo. Experimente o comando abaixo para criar uma tabela e a tabela será criada com eficiência, como visto na imagem abaixo.

>> Crie teste de tabela (chave primária de identificação, texto de nome não nulo);

Vamos inserir alguns valores na coluna "nome" da tabela recém -criada "teste". Não agregaremos nenhum valor à coluna "ID". Você pode ver que os valores foram inseridos com sucesso usando o comando Insert, conforme declarado abaixo.

>> Insira no teste (nome) valores ('aqsa'), ('rimsha'), ('khan');

É hora de verificar os registros da tabela 'teste'. Experimente a instrução selecionada abaixo no shell de comando.

>> selecione * no teste;

A partir da saída abaixo, você pode observar que a coluna "ID" recebeu automaticamente alguns valores, mesmo que não tenhamos adicionado nenhum valor do comando Insert devido à série de dados do Datatype que especificamos para a coluna "ID". É assim que o tipo de dados de dados funciona por conta própria.

Exemplo 02:

Outra maneira de verificar o valor da coluna do tipo de dados serial é usando a palavra -chave retornando no comando Insert. A declaração abaixo cria uma nova linha na tabela "teste" e produz o valor para o campo "ID":

>> Insira no teste (nome) valores ('Hassam') de retorno ID;

Ao verificar os registros da tabela "teste" usando a consulta Select, obtivemos a saída abaixo, conforme exibido na imagem. O quinto recorde foi adicionado com eficiência à tabela.

>> selecione * no teste;

Exemplo 03:

A versão alternativa da consulta de inserção acima está usando a palavra -chave padrão. Usaremos o nome da coluna "ID" no comando Insert e, na seção Valores, daremos a palavra -chave padrão como seu valor. A consulta abaixo funcionará da mesma forma após a execução.

>> Insira no teste (id, nome) valores (padrão, 'raza');

Vamos verificar a tabela novamente usando a consulta selecionada da seguinte forma:

>> selecione * no teste;

Você pode ver na saída abaixo, o novo valor foi adicionado enquanto a coluna "ID" foi incrementada por padrão.

Exemplo 04:

O número de sequência do campo de coluna serial pode ser encontrado em uma tabela no PostgreSQL. O método pg_get_serial_sequence () é usado para realizar isso. Temos que usar a função currval () junto com o método pg_get_serial_sequence (). Nesta consulta, forneceremos o nome da tabela e seu nome de coluna serial nos parâmetros da função PG_GET_SERIAL_SESCENCE (). Como você pode ver, especificamos a tabela "teste" e a coluna "ID". Este método é usado no exemplo de consulta abaixo:

>> selecione currVal (pg_get_serial_sequence ('teste', 'id'));

Vale a pena notar que nossa função currval () nos ajuda a extrair o valor mais recente da sequência, que é "5". A imagem abaixo é uma ilustração de como a performance poderia ser.

Conclusão:

Neste tutorial de guia, demonstramos como usar o pseudo-tipo serial para incremento automático no PostgreSQL. Usando uma série no PostgreSQL, é simples construir um conjunto de números de incrementação automática. Felizmente, você poderá aplicar o campo serial às descrições da tabela usando nossas ilustrações como referência.