Tipo de dados XML PostGresql

Tipo de dados XML PostGresql

A forma completa de XML é uma linguagem de marcação extensível. Cada elemento ou tag do XML é definido pelo usuário. As informações podem ser transmitidas facilmente de um local para outro usando dados XML. Os dados XML são armazenados em um formato hierárquico. O banco de dados PostGresql suporta o tipo de dados XML para armazenar dados XML. A maneira de usar o tipo de dados XML na tabela PostGresql foi mostrada neste tutorial.

Pré-requisitos:

Você deve instalar a versão mais recente dos pacotes PostGresql no sistema operacional Linux antes de executar as instruções SQL mostradas neste tutorial. Execute os seguintes comandos para instalar e iniciar o PostgreSQL:

$ sudo apt-get -y install postgresql postgresql-contra
$ sudo SystemCtl Iniciar PostgreSQL.serviço

Execute o seguinte comando para fazer login no PostgreSQL com permissão de raiz:

$ sudo -u postgres psql

Uso do tipo de dados postgreSQL:

Antes de criar qualquer tabela com o tipo de dados booleano, você deve criar um banco de dados PostGresql. Então, execute o seguinte comando para criar um banco de dados chamado 'testdb'.

# Criar banco de dados TestDB;

A saída a seguir será exibida após a criação do banco de dados:

A. Dados XML com um nó infantil

Execute o seguinte Criar consulta para criar uma tabela chamada xmldoc1 Com um campo de tipo de dados XML:

# Criar tabela xmldoc1 (xmldata xml);

Execute a seguinte consulta de inserção para adicionar dados XML com um nó filho no campo xmldata do tipo de dados XML:

# Inserir no xmldoc1
Valores (
'
[email protected]
[email protected]
O site está inativo
Meu site não está funcionando.
');

A saída a seguir aparecerá após a execução das declarações acima:

Execute a seguinte consulta selecionada para ler todos os registros do xmldoc1 mesa:

# Selecione * no xmldoc1;

A saída a seguir aparecerá após a execução da declaração acima:

B. Dados XML com diferentes nós filhos

Execute o seguinte Criar consulta para criar uma tabela chamada xmldoc2 com dois campos. O primeiro nome de campo é eu ia qual é a chave primária da tabela. O valor desse campo será incrementado automaticamente quando um novo registro será inserido. O segundo nome de campo é xmldata e o tipo de dados é xml.

# Criar tabela xmldoc2 (
Id Id Serial Primary Key,
xmldata xml);

A saída a seguir aparecerá se a tabela for criada com sucesso:

Execute o seguinte INSERIR Consulta para inserir dados XML de diferentes nó infantis. Aqui, os dados XML com quatro nós filhos serão inseridos no xmldata campo.

# Inserir no xmldoc2 (xmldata)
Valores ('

[email protected]
[email protected]
O site está inativo
Meu site não está funcionando.
');

A saída a seguir aparecerá se o INSERIR A consulta é executada com sucesso:

Execute a seguinte consulta selecionada para ler o valor de cada nó do documento XML em cada campo separadamente.:

# Selecione UNST (XPath ('// para/text ()', xmldata :: xml)) quanto a,
UNSOT (XPath ('// de/text ()', xmldata :: xml)) como de,
UNSOT (XPath ('// sujeito/text ()', xmldata :: xml)) como sujeito,
UNSOT (XPath ('// message/text ()', xmldata :: xml)) como mensagem
De xmldoc2;

C. Converter dados XML em uma tabela

Execute o seguinte Criar consulta para criar uma tabela chamada lista de livros que converterá os dados XML em uma tabela:

# Crie a lista de livros de tabela como selecione XML
$$

Guia de desenvolvedores XML
Gambardella e Matthew
44.95


Chuva da meia -noite
Ralls e Kim
5.95


Maeve Ascendente
Corets e Eva
5.95

$$ como livros;

A saída a seguir aparecerá se os dados XML forem convertidos em uma tabela corretamente:

O conteúdo dos nós XML pode ser recuperado definindo o caminho do nó corretamente. O xmlTable.* é uma das maneiras de ler o nó e atribuir valores da tabela que foi convertida dos dados XML. Execute a seguinte consulta selecionada para ler o valor do eu ia atributo do livro nó e os valores do Título, autor e nós de preços. Aqui, o símbolo '@' usou para ler o valor do atributo.

# Selecione XMLTable.* Da Livro,
Xmltable ('/livros/livro' Livros de passagem
Colunas
id char (2) caminho '@id' não nulo,
Título do texto do texto 'título' não nulo,
Autor Path 'Author' não nulo,
Price Float Path 'Preço' não nulo);

A saída a seguir aparecerá após a execução da consulta acima:

Os valores dos nós e atributos XML podem ser recuperados da tabela definindo os nomes de campo na consulta selecionada com base nos nós XML. Execute a seguinte consulta selecionada para ler o valor do eu ia atributo do nó do livro e os valores do Título, autor e nós de preços. Aqui, o símbolo '@' foi usado para ler o valor do atributo como a consulta selecionada anterior.

# Selecione ID, título, autor, preço da lista de livros,
Xmltable ('/livros/livro' Livros de passagem
Colunas
Id int path '@id' não nulo,
Título Varchar (50) Path 'Title' não nulo,
Autor Varchar (30) Path 'Autor' não nulo,
Price Float Path 'Preço' não nulo);

A saída a seguir aparecerá após a execução da consulta acima:

A função agregada pode ser aplicada ao nó do XML usando a consulta selecionada. Execute a seguinte consulta selecionada para contar o número total de eu ia atributo e preço total de todos os livros usando o Count () função e soma () função. De acordo com os dados XML, o número total de atributos de identificação é 3 e a soma de todos os nós de preços é 56.85.

# Selecione Count (ID) como Total_Books, Sum (Price) como Total_price da Lista de livros,
Xmltable ('/livros/livro' Livros de passagem
Colunas
id int path '@id' não nulo,
Title Varchar (50) Path 'Title' não nulo,
Autor Varchar (30) Path 'Autor' não nulo,
Price Float Path 'Preço' não nulo);

A saída a seguir aparecerá após a execução da consulta acima:

Conclusão:

A maneira de usar o tipo de dados XML nas tabelas PostgreSQL e ler os dados XML da tabela de diferentes maneiras foi mostrado neste tutorial para ajudar os novos usuários do PostGresql a conhecer os usos desse tipo de dados corretamente.