La forma completa di XML è un linguaggio di markup estensibile. Ogni elemento o tag dell'XML è definito dall'utente. Le informazioni possono essere trasmesse facilmente da una posizione all'altra utilizzando i dati XML. I dati XML sono archiviati in un formato gerarchico. Il database PostgreSQL supporta il tipo di dati XML per archiviare i dati XML. Il modo di utilizzare il tipo di dati XML nella tabella PostgreSQL è stato mostrato in questo tutorial.
Prerequisiti:
È necessario installare l'ultima versione dei pacchetti PostgreSQL sul sistema operativo Linux prima di eseguire le istruzioni SQL mostrate in questo tutorial. Esegui i seguenti comandi per installare e avviare PostgreSQL:
$ sudo apt-get -y installa postgresql postgresql-confribEsegui il seguente comando per accedere a PostgreSQL con l'autorizzazione alla radice:
$ sudo -u postgres psqlUtilizzo del tipo di dati PostgreSQL:
Prima di creare qualsiasi tabella con il tipo di dati booleani, è necessario creare un database PostgreSQL. Quindi, esegui il seguente comando per creare un database chiamato 'testdb'.
# Crea test Database TestDB;Verrà visualizzato il seguente output dopo la creazione del database:
UN. Dati XML con un nodo figlio
Esegui le seguenti query Crea per creare una tabella denominata xmldoc1 Con un campo di tipo di dati XML:
# Crea la tabella xmldoc1 (xmldata xml);Esegui la seguente query Insert per aggiungere i dati XML con un nodo figlio nel campo XMLData del tipo di dati XML:
# Inserisci in xmldoc1Verrà visualizzato il seguente output dopo aver eseguito le dichiarazioni di cui sopra:
Esegui le seguenti query Seleziona per leggere tutti i record da xmldoc1 tavolo:
# Seleziona * da xmldoc1;Verrà visualizzato il seguente output dopo aver eseguito l'istruzione sopra:
B. Dati XML con diversi nodi figlio
Esegui le seguenti query Crea per creare una tabella denominata xmldoc2 con due campi. Il primo nome di campo è id che è la chiave principale della tabella. Il valore di questo campo verrà incrementato automaticamente quando un nuovo record si inserisce. Il secondo nome di campo è XMLData e il tipo di dati è XML.
# Crea la tabella xmldoc2 (Verrà visualizzato il seguente output se la tabella viene creata correttamente:
Eseguire quanto segue INSERIRE Query per inserire i dati XML di diverso nodo figlio. Qui, i dati XML con quattro nodi figlio saranno inseriti nel xmldata campo.
# Inserisci in xmldoc2 (xmldata)La seguente uscita apparirà se il INSERIRE La query viene eseguita correttamente:
Esegui la seguente query Seleziona per leggere il valore di ciascun nodo del documento XML in ciascun campo separatamente.:
# Seleziona UnNest (xpath ('// to/text ()', xmldata :: xml)) su,C. Converti i dati XML in una tabella
Esegui le seguenti query Crea per creare una tabella denominata lista di libri che convertirà i dati XML in una tabella:
# Crea la lista di libri di tabella come seleziona XMLVerrà visualizzato il seguente output se i dati XML vengono convertiti correttamente in una tabella:
Il contenuto dei nodi XML può essere recuperato definendo correttamente il percorso del nodo. IL xmltable.* è uno dei modi per leggere i valori del nodo e degli attributi dalla tabella che è stata convertita dai dati XML. Esegui le seguenti query Seleziona per leggere il valore del id attributo del libro nodo e i valori del Titolo, autore e nodi di prezzo. Qui, il simbolo "@" ha usato per leggere il valore dell'attributo.
# Seleziona xmltable.* Dalla lista dei libri,Verrà visualizzato il seguente output dopo aver eseguito la query sopra:
I valori dei nodi e degli attributi XML possono essere recuperati dalla tabella definendo i nomi dei campi nella query Seleziona in base ai nodi XML. Esegui le seguenti query Seleziona per leggere il valore del id attributo del nodo del libro e i valori del Titolo, autore e nodi di prezzo. Qui, il simbolo "@" è stato usato per leggere il valore dell'attributo come la precedente query selezionata.
# Seleziona ID, titolo, autore, Price da BookList,Verrà visualizzato il seguente output dopo aver eseguito la query sopra:
La funzione aggregata può essere applicata al nodo di XML utilizzando la query selezionata. Esegui la seguente query Seleziona per contare il numero totale di id attributo e prezzo totale di tutti i libri usando il Count () funzione e somma () funzione. Secondo i dati XML, il numero totale di attributi ID è 3 e la somma di tutti i nodi di prezzo è 56.85.
# Seleziona conteggio (ID) come Total_Books, Sum (Price) come Total_Price da BookList,Verrà visualizzato il seguente output dopo aver eseguito la query sopra:
Conclusione:
In questo tutorial è stato mostrato il modo di utilizzare il tipo di dati XML nelle tabelle PostgreSQL e leggere i dati XML dalla tabella in diversi modi per aiutare i nuovi utenti Postgresql a conoscere correttamente gli usi di questo tipo di dati.