Query XML SQL Server

Query XML SQL Server
XML o la lingua di markup estensibile è una lingua di markup per il trasporto e l'archiviazione dei dati. XML è semplice e molto descrittivo nella sua natura. Questo lo rende una lingua molto comune per la condivisione di informazioni tra piattaforme e applicazioni.

In questa guida, imparerai come utilizzare i dati XML in SQL Server. Discuteremo di creare informazioni XML da tabelle esistenti, caricare documenti XML e altro ancora.

Iniziare

Per comprendere meglio come utilizzare i dati XML in SQL Server, creeremo prima i dati di esempio come mostrato nelle seguenti query:

-- Crea database di test
utenti creatitabase;
-- Switch DB;
utilizzare gli utenti;
createtableuser_info (
Id Intidentity (1,1) Key notNullprimary,
NameVarchar (125),
Email Varchar (255),
Dipartimento Varchar (50),
Soldi del salario
);
insertIntOuser_info (nome, e -mail, dipartimento, stipendio)
valori ('Brandon Benitez', '[email protected] ',' Game Developer ', $ 140000),
("Paulina Bowman", "[email protected] ',' FullStack Developer ', $ 133000),
('Carl Crawford', '[email protected] ',' Frontend Developer ', $ 110000),
("Brian Booth", "[email protected] ',' Developer del database ', $ 150000),
('Jasmin Pham', '[email protected] ',' WordPress Developer ', $ 102000),
("Tamara Davidson", "[email protected] ',' sviluppatore grafico ', $ 122000),
("Jaylan Ho", [email protected] ',' Devops Developer ', $ 111000),
('Winfred Fleming', '[email protected] ',' sviluppatore backend ', $ 145000);

Una volta che abbiamo i dati di esempio, possiamo procedere a imparare a lavorare con XML in SQL Server.

Converti la tabella SQL in XML

Possiamo convertire i dati da una tabella SQL in XML utilizzando le istruzioni per percorsi AUTO e per XML.

Ad esempio, per convertire la tabella di esempio precedente in XML, possiamo eseguire la query come:

Seleziona * da user_info
per XML Auto;

La query sopra restituirà una stringa XML come mostrato:

In SQL Server Management Studio, è possibile fare clic sul collegamento XML per mostrare e formattare i dati XML in un formato leggibile come:

Si noti che XML contiene 5 entità utente con ciascuna colonna della tabella come attributo e valore associato.

È inoltre possibile utilizzare il percorso per XML per convertire una tabella in XML. Questa opzione converte ogni record nella tabella come elemento e colonne come elementi nidificati.

Un esempio è come mostrato:

Seleziona * da user_info
per percorso XML

La query dovrebbe restituire i dati XML come mostrato:

Qui, ogni record nella tabella è rappresentato come un elemento con le colonne e i valori nidificati nell'elemento principale.

Per modificare il nodo radice da una riga a un nome personalizzato, possiamo fare quanto segue:

Seleziona * da user_info
per percorso XML

Carica il file XML su SQL

Possiamo caricare i dati XML da un file utilizzando l'istruzione OpenRowSet. Considera il seguente esempio:

createtableuser_xml (
xmldataxml
);
insertIntOuser_xml (xmldata)
SelectConvert (XML, BulkColumn) AsBulkColumn
FromOPenRowSet (Bulk'c: \ Users \ CS \ Documents \ user_info.xml ', single_blob) ascorrelation_name;
Seleziona * dauser_xml;

La query deve importare il file XML specificato nella tabella creata.

Converti XML in tavolo

Per convertire i dati da un file XML in una tabella, possiamo utilizzare la funzione SP_XML_PREPAREDocument e OpenXML.

-- Converti XML in tavolo
Dichiara @USER_INFO XML
Seleziona @user_info = info
FromOPenRowSet (Bulk 'C: \ Users \ CS \ Documents \ user_Info.xml ', single_blob) asuser_info (info)
Seleziona @USER_INFO
dichiarare @hdoc int
Exec SP_XML_PREPADocument @hdoc output, @info_info
Selezionare *
fromopenxml (@hdoc, '/user_info/user_info', 2)
con(
NameVarchar (125),
Email Varchar (255),
Dipartimento Varchar (50),
Soldi del salario
)
Exec SP_XML_REMOVEDOCUMENT @HDOC

La query dovrebbe analizzare il file XML e convertire gli attributi in una tabella.

Conclusione

Questa guida copre le basi del lavoro con i dati XML nel server SQL, creando informazioni XML dalle tabelle esistenti e caricando i documenti XML. Speriamo che tu abbia trovato questo articolo utile. Scopri altri articoli di suggerimento Linux per ulteriori suggerimenti e informazioni sul server SQL.