Requête SQL Server XML

Requête SQL Server XML
XML ou le langage de balisage extensible est un langage de balisage pour le transport et le stockage des données. XML est simple et très descriptif dans sa nature. Cela en fait un langage très commun pour partager des informations entre les plateformes et les applications.

Dans ce guide, vous apprendrez à utiliser les données XML dans SQL Server. Nous discuterons de la création d'informations XML à partir de tables existantes, de chargement des documents XML, et plus.

Commencer

Pour mieux comprendre comment utiliser les données XML dans SQL Server, nous allons d'abord créer des exemples de données comme indiqué dans les requêtes suivantes:

-- Créer une base de données de test
Utilisateurs Createdatabase;
-- commutateur db;
utiliser les utilisateurs;
CreateTableUser_info (
ID INTIALITY (1,1) NotNullPrimary Key,
NameVarchar (125),
Email Varchar (255),
Département Varchar (50),
argent salarial
));
INSERTTINTOUSER_INFO (nom, e-mail, département, salaire)
Valeurs ('Brandon Benite', 'B @ Braedon.com ',' jeu développeur ', 140000 $),
('Paulina Bowman', 'Bowman @ info.com ',' fullstack développeur ', 133000 $),
('Carl Crawford', 'Crawford @ Carld.Mail ',' Frontend Developer ', 110000 $),
('Brian Booth', 'stand @ échantillon.AI ',' Database Developer ', 150000 $),
('Jasmin Pham', 'pham @ hotmail.org ',' wordpress développeur ', 102000 $),
('Tamara Davidson', 'davidsont @ amara.Moi ',' Graphics Developer ', 122000 $),
('Jaylan Ho', 'Jaylana.ho @ yahoo.de ',' DevOps Developer ', 111 000 $),
('Winfred Fleming', 'f_w @ gmail.com ',' backend développeur ', 145 000 $);

Une fois que nous avons les exemples de données, nous pouvons procéder pour apprendre à travailler avec XML dans SQL Server.

Convertir la table SQL en XML

Nous pouvons convertir les données d'une table SQL en XML en utilisant les instructions pour le chemin XML pour XML et pour XML.

Par exemple, pour convertir la table d'échantillonnage précédente en XML, nous pouvons exécuter la requête comme:

Sélectionner * dans user_info
pour XML Auto;

La requête ci-dessus renvoie une chaîne XML comme indiqué:

Dans SQL Server Management Studio, vous pouvez cliquer sur le lien XML pour afficher et formater les données XML dans un format lisible comme:

Remarquez que le XML contient 5 entités utilisateur avec chaque colonne du tableau comme l'attribut et sa valeur associée.

Vous pouvez également utiliser le chemin pour XML pour convertir une table en XML. Cette option convertit chaque enregistrement dans le tableau comme un élément et des colonnes sous forme d'éléments imbriqués.

Un exemple est comme indiqué:

Sélectionner * dans user_info
pour le chemin XML

La requête doit renvoyer les données XML comme indiqué:

Ici, chaque enregistrement du tableau est représenté comme un élément avec les colonnes et les valeurs imbriquées dans l'élément principal.

Pour changer le nœud racine d'une ligne en un nom personnalisé, nous pouvons effectuer ce qui suit:

Sélectionner * dans user_info
pour le chemin XML

Chargez le fichier XML à SQL

Nous pouvons charger des données XML à partir d'un fichier à l'aide de l'instruction OpenRowSet. Considérez l'exemple suivant:

CreateTableUser_XML (
xmldataxml
));
insertTouser_xml (xmldata)
selectConvert (xml, bulkColumn) AsbulkColumn
FromOpenRowSet (Bulk'c: \ Users \ cs \ Documents \ User_info.xml ', single_blob) ascorrelation_name;
SELECT * FROMUSER_XML;

La requête doit importer le fichier XML spécifié dans le tableau créé.

Convertir XML en table

Pour convertir les données d'un fichier XML en une table, nous pouvons utiliser la fonction SP_XML_PREPAREDOCUMENT et OpenXML.

-- Convertir XML en table
Déclarer @user_info XML
Sélectionnez @user_info = info
FromOpenRowSet (Bulk 'C: \ Users \ CS \ Documents \ User_info.xml ', single_blob) asuser_info (info)
Sélectionnez @user_info
déclarer @hdoc int
Exec SP_XML_PREPAREDOCUMENT @HDOC Sortie, @info_info
sélectionner *
FromOpenXML (@hdoc, '/ user_info / user_info', 2)
avec(
NameVarchar (125),
Email Varchar (255),
Département Varchar (50),
argent salarial
)
Exec SP_XML_REMOVEOVECUMENT @HDOC

La requête doit analyser le fichier XML et convertir les attributs en table.

Conclusion

Ce guide couvre les bases du travail avec les données XML dans le serveur SQL, de la création d'informations XML à partir de tables existantes et du chargement des documents XML. Nous espérons que vous avez trouvé cet article utile. Consultez plus d'articles d'indice de Linux pour plus de conseils et d'informations SQL Server.