Array
Em PostgreSQL, o tipo de dados ARRAY
permite que você armazene uma lista de valores de um mesmo tipo em uma única coluna de uma tabela. Isso é útil quando você precisa armazenar múltiplos valores relacionados em um único campo. Aqui estão algumas operações básicas que você pode realizar com o tipo de dados ARRAY
:
1. Criar uma tabela com um campo do tipo ARRAY
:
CREATE TABLE alunos (
id SERIAL PRIMARY KEY,
disciplinas TEXT[]
);
Neste exemplo, disciplinas
é um campo do tipo ARRAY
que pode armazenar uma lista de strings representando disciplinas de um aluno.
2. Inserir dados em uma tabela com campos ARRAY
:
INSERT INTO alunos (disciplinas)
VALUES ('{"Matemática", "História"}'),
('{"Física", "Química", "Biologia"}');
3. Consultar dados ARRAY
:
-- Selecionar todos os alunos
SELECT * FROM alunos;
-- Selecionar alunos que têm a disciplina "Matemática"
SELECT * FROM alunos WHERE 'Matemática' = ANY(disciplinas);
4. Atualizar dados ARRAY
:
-- Adicionar uma nova disciplina para um aluno específico
UPDATE alunos
SET disciplinas = array_append(disciplinas, 'Geografia')
WHERE id = 1;
5. Consultar elementos específicos do ARRAY
:
-- Selecionar o primeiro elemento da lista de disciplinas
SELECT disciplinas[1] FROM alunos WHERE id = 1;
-- Selecionar todos os elementos da lista de disciplinas em um aluno
SELECT unnest(disciplinas) FROM alunos WHERE id = 1;
6. Ordenar um ARRAY
:
-- Selecionar disciplinas em ordem alfabética para um aluno específico
SELECT id, array_agg(disciplina ORDER BY disciplina) AS disciplinas_ordenadas
FROM (SELECT id, unnest(disciplinas) AS disciplina FROM alunos) AS subquery
GROUP BY id;
Estes são exemplos básicos de como trabalhar com o tipo de dados ARRAY
no PostgreSQL. É importante notar que as operações com ARRAY
podem variar dependendo das suas necessidades específicas, mas esses exemplos devem lhe dar uma boa base para começar a trabalhar com arrays em PostgreSQL.