Mysql
 sql >> Base de données >  >> RDS >> Mysql

Insertion en masse dans MYSQL à partir de fichiers XML

Essayez le LOAD XML fonction (MySQL 6.0). Voici l'exemple de code du manuel de référence :

Utiliser un document XML person.xml contenant :

<?xml version="1.0"?>
<list>
  <person person_id="1" fname="Pekka" lname="Nousiainen"/>
  <person person_id="2" fname="Jonas" lname="Oreland"/>
  <person person_id="3"><fname>Mikael</fname><lname>Ronström</lname></person>
  <person person_id="4"><fname>Lars</fname><lname>Thalmann</lname></person>
  <person><field name="person_id">5</field><field name="fname">Tomas</field><field name="lname">Ulin</field></person>
  <person><field name="person_id">6</field><field name="fname">Martin</field><field name="lname">Sköld</field></person>
</list>

vous créeriez un tableau comme ceci :

CREATE TABLE person (
    person_id INT NOT NULL PRIMARY KEY,
    fname VARCHAR(40) NULL,
    lname VARCHAR(40) NULL,
    created TIMESTAMP
);

et utilisez la commande suivante pour importer le XML :

LOAD XML LOCAL INFILE 'person.xml'
INTO TABLE person
ROWS IDENTIFIED BY '<person>';

Ou si vous utilisez MySQL 5.0, vous pouvez utiliser LOAD_FILE pour charger le document XML entier sous forme de chaîne dans une seule colonne, puis l'analyser à l'aide de la fonctionnalité XPath de MySQL.

Cet article sur MySQL.com contient plus de détails :Utiliser XML dans MySQL 5.1 et 6.0 .