SQL Server XML -spørring

SQL Server XML -spørring
XML eller utvidbart markeringsspråk er et markeringsspråk for transport og lagring av data. XML er enkel og veldig beskrivende i sin natur. Dette gjør det til et veldig vanlig språk for å dele informasjon mellom plattformer og applikasjoner.

I denne guiden lærer du hvordan du bruker XML -data i SQL Server. Vi vil diskutere å lage XML -informasjon fra eksisterende tabeller, laste inn XML -dokumenter og mer.

Starter

For bedre å forstå hvordan du bruker XML -data i SQL Server, vil vi først lage eksempeldata som vist i følgende spørsmål:

-- Opprett testdatabase
CreateTatabase -brukere;
-- bryter db;
bruke brukere;
createTableUser_info (
ID Intidentity (1,1) NotNullPrimary Key,
NameVarchar (125),
E -post varchar (255),
Avdelingen varchar (50),
Lønnspenger
);
Insertintouser_info (navn, e -post, avdeling, lønn)
Verdier ('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] ',' Database Developer ', $ 150000),
('Jasmin Pham', '[email protected] ',' WordPress Developer ', $ 102000),
('Tamara Davidson', '[email protected] ',' grafikkutvikler ', $ 122000),
('Jaylan Ho', '[email protected] ',' DevOps Developer ', $ 111000),
('Winfred Fleming', '[email protected] ',' backend utvikler ', $ 145000);

Når vi har prøvedataene, kan vi fortsette å lære å jobbe med XML i SQL Server.

Konverter SQL -tabellen til XML

Vi kan konvertere data fra en SQL -tabell til XML ved hjelp av for XML Auto og for XML Path -utsagn.

For å konvertere den forrige eksempletabellen til XML, kan vi for eksempel kjøre spørringen som:

Velg * fra User_Info
for XML Auto;

Ovennevnte spørring vil returnere en XML -streng som vist:

I SQL Server Management Studio kan du klikke på XML -lenken for å vise og formatere XML -dataene i et lesbart format som:

Legg merke til at XML inneholder 5 brukerenheter med hver kolonne i tabellen som attributtet og tilhørende verdi.

Du kan også bruke for XML -banen for å konvertere en tabell til XML. Dette alternativet konverterer hver post i tabellen som et element og kolonner som nestede elementer.

Et eksempel er som vist:

Velg * fra User_Info
for XML -sti

Spørringen skal returnere XML -dataene som vist:

Her er hver post i tabellen representert som et element med kolonnene og verdiene som er nestet i hovedelementet.

For å endre rotnoden fra en rad til et tilpasset navn, kan vi gjøre følgende:

Velg * fra User_Info
for XML -sti

Last inn XML -fil til SQL

Vi kan laste inn XML -data fra en fil ved hjelp av OpenRowset -setningen. Tenk på følgende eksempel:

createTableUser_xml (
xmldataxml
);
Insertintouser_xml (XMLData)
SelectConvert (XML, Bulkcolumn) AsbulkColumn
FromoPenrowset (bulk'c: \ brukere \ cs \ dokumenter \ user_info.xml ', single_blob) ascorrelation_name;
Velg * FRAUSER_XML;

Spørringen skal importere den spesifiserte XML -filen til den opprettede tabellen.

Konverter XML til tabellen

For å konvertere data fra en XML -fil til en tabell, kan vi bruke SP_XML_Preparedocument og OpenXML -funksjonen.

-- Konverter XML til tabellen
erklære @user_info xml
velg @user_info = info
FromoPenRowset (bulk 'C: \ brukere \ cs \ dokumenter \ user_info.xml ', single_blob) asuser_info (info)
Velg @User_info
erklære @hdoc int
exec sp_xml_preparedocument @hdoc output, @info_info
plukke ut *
fraopenxml (@hdoc, '/user_info/user_info', 2)
med(
NameVarchar (125),
E -post varchar (255),
Avdelingen varchar (50),
Lønnspenger
)
exec sp_xml_removedocument @hdoc

Spørringen skal analysere XML -filen og konvertere attributtene til en tabell.

Konklusjon

Denne guiden dekker det grunnleggende om å jobbe med XML -data i SQL -serveren, lage XML -informasjon fra eksisterende tabeller og laste inn XML -dokumentene. Vi håper du fant denne artikkelen nyttig. Sjekk ut flere Linux -hint -artikler for flere tips og SQL Server -informasjon.