sql >> Database >  >> RDS >> Mysql

Bulksgewijs invoegen in MYSQL vanuit XML-bestanden

Probeer de LOAD XML functie (MySQL 6.0). Hier is de voorbeeldcode uit de referentiehandleiding:

Een XML-document gebruiken person.xml met daarin:

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

je zou een tabel als volgt maken:

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

en gebruik de volgende opdracht om de XML te importeren:

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

Of als u MySQL 5.0 gebruikt, kunt u LOAD_FILE om het hele XML-document als een tekenreeks in een enkele kolom te laden en het vervolgens te parseren met de XPath-functionaliteit van MySQL.

Dit artikel op MySQL.com bevat meer details:XML gebruiken in MySQL 5.1 en 6.0 .



  1. Inleiding tot OPENJSON met voorbeelden (SQL Server)

  2. Wijzig de tijdzone-offset op een datetimeoffset-waarde in SQL Server (T-SQL)

  3. MySQL Langzaam bij deelnemen. Enige manier om te versnellen

  4. Een inventarisdatabase maken in Microsoft Access