Tutorial de matrizes PostgreSQL

Tutorial de matrizes PostgreSQL
Matrizes unidimensionais ou multidimensionais de comprimento variável podem ser definidas como um campo de uma tabela no banco de dados PostGresql. Tipos de dados embutidos, definidos pelo usuário, enum e compostos são suportados pela Array PostgreSQL. Os campos de matriz são declarados usando suportes quadrados como outras declarações de matriz. Por exemplo, matrizes inteiras podem ser declaradas como Inteiro [], Matrizes de texto podem ser declaradas como texto[] etc. Como você pode usar as matrizes PostGresql com Criar, Selecionar, Inserir, Atualizar e Excluir a consulta são mostradas neste tutorials.

Exemplo 1: Criando tabela com campo de matriz

Crie uma tabela usando o campo de matriz. Neste exemplo, uma tabela chamada Usuários é criado com campos, Nome de usuário, nome completo, gênero, e -mail, telefone e Interesses. Interesses O campo é definido como TEXTO [] matriz que pode aceitar vários valores neste campo.

Crie usuários de tabela (
Nome de usuário Varchar (15) Chave primária,
FullName Varchar (100),
Gênero Varchar (6),
Email Varchar (20),
Telefone Varchar (20),
Interesses text []);

Exemplo 2: Insira dados no campo de matriz da tabela

Você pode inserir um ou mais valores no campo da matriz. Nos campos de matriz, os múltiplos valores são separados por vírgulas e usam o segundo suporte para definir os valores. Execute as três declarações de inserção a seguir para inserir três linhas em Usuários mesa.

Insira nos usuários (nome de usuário, nome completo, gênero, email, telefone, interesses)
Valores ('John99', 'Jonathan Bing', 'masculino', '[email protected] ',' +2455676677 ',
'"Jardinagem", "críquete", "ciclismo", "viajando"');
Insira nos usuários (nome de usuário, nome completo, gênero, email, telefone, interesses)
Valores ('maria_hd', 'maria hossain', 'feminino', '[email protected] ',' +9234455454 ',
'"Viajando", "tênis"');
Insira nos usuários (nome de usuário, nome completo, gênero, email, telefone, interesses)
Valores ('fahmidabd', 'fahmida', 'feminino', '[email protected] ',' +88017348456 ',
'"Programação", "Music"');

Execute a seguinte instrução SELEC para mostrar todos os registros da tabela de usuários.

Selecione * dos usuários;

Exemplo 3: Selecione dados usando o campo de matriz da tabela

a) Recupere o valor de matriz específico

Se você deseja recuperar o valor específico da matriz, deve especificar o valor do índice com o campo da matriz. A seguinte consulta selecionada é usada para recuperar Nome completo, telefone e interesse valor do segundo índice da tabela de usuários de todos os usuários do sexo masculino.

Selecione FullName, Telefone, interesses [2]
De usuários
Onde gênero = 'masculino';

Se o valor do índice não estiver disponível no campo da matriz, ele retornará nulo como saída. Na declaração a seguir, o quinto índice não existe em nenhum campo de interesses.

Selecione FullName, email, interesses [5]
De usuários
Onde gênero = 'feminino';

b) Recuperar registros com base em valor específico da matriz

Você pode usar qualquer função para pesquisar valores específicos da matriz em todos os registros do campo de matriz. A seguinte instrução Select recuperará FullName, e -mail e Telefone de todos os usuários cujo Interesses Campo contém 'Viajando" valor.

Selecione FullName, e -mail, telefone
De usuários
Onde 'viajando' = qualquer (interesses);

c) Recuperar registros usando a função desnecessária

UNSest () A função é usada para recuperar cada valor da matriz em linha separada. A instrução SELECT seguinte recuperará registros separadamente para cada valor de Interesses campo.

Selecione FullName, desnecess (interesses)
De usuários;

Exemplo-4: Atualize os dados usando o campo de matriz da tabela

a) Atualizar índice de matriz específico

A consulta de atualização a seguir atualizará o segundo valor do índice dos interesses nos quais os registros contêm o nome de usuário "John99".

Atualizar usuários
Defina interesses [1] = 'futebol'
Onde nome de usuário = 'john99';

Execute a seguinte consulta selecionada para mostrar o efeito da consulta de atualização.

Selecione nome de usuário, interesses dos usuários;

b) Atualize todos os valores de um campo de matriz específico

Você pode atualizar o conteúdo completo do campo da matriz por duas maneiras. A primeira maneira é usar uma maneira convencional normal, que é mostrada no exemplo acima e a segunda maneira é usar a expressão da matriz. Ambos os lados são mostrados abaixo para atualizar o registro. Você pode executar qualquer uma das consultas a seguir para atualizar o campo de matriz. A declaração de atualização a seguir substituirá os valores anteriores por novos dois valores que contém o nome de usuário 'maria_db '.

Atualizar usuários
Defina interesses = '"jardinagem", "hóquei"'
Onde nome de usuário = 'maria_hd';

Ou,

Atualizar usuários
Definir interesses = Array ['Jardinagem', 'Hóquei']]
Onde nome de usuário = 'maria_hd';

Execute a seguinte consulta selecionada para mostrar o efeito da consulta de atualização.

Selecione nome de usuário, interesses dos usuários;

Exemplo 5: Exclua dados com base no campo de matriz da tabela

Você pode executar a consulta Excluir combinando valores de matriz específicos. No exemplo a seguir, os usuários que têm “programação” como o valor no primeiro índice de interesse do campo serão excluídos da tabela.

Exclua dos usuários
Onde interesses [1] = 'programação';

Execute a seguinte consulta selecionada para mostrar o efeito da consulta de exclusão.

Selecione nome de usuário, interesses dos usuários;

Todos os exemplos acima deste tutorial mostram o uso de matriz unidimensional no PostGresql. O uso de matriz multidimensional é um pouco complicado que a matriz unidimensional. Como iniciante, você pode praticar este tutorial para obter o conhecimento básico do uso da Array PostGresql.