Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Masseneinfügung in MYSQL aus XML-Dateien

Probieren Sie XML LADEN aus Funktion (MySQL 6.0). Hier ist der Beispielcode aus dem Referenzhandbuch:

Verwendung eines XML-Dokuments person.xml enthält:

<?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>

Sie würden eine Tabelle wie folgt erstellen:

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

und verwenden Sie den folgenden Befehl, um das XML zu importieren:

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

Oder wenn Sie MySQL 5.0 ausführen, können Sie LOAD_FILE um das gesamte XML-Dokument als String in eine einzelne Spalte zu laden und es dann mit der XPath-Funktionalität von MySQL zu parsen.

Dieser Artikel auf MySQL.com enthält weitere Details:Verwendung von XML in MySQL 5.1 und 6.0 .