Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Inserção em massa no MYSQL de arquivos XML


Experimente o LOAD XML função (MySQL 6.0). Aqui está o código de exemplo do manual de referência:

Usando um documento XML person.xml contendo:
<?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>

você criaria uma tabela assim:
CREATE TABLE person (
    person_id INT NOT NULL PRIMARY KEY,
    fname VARCHAR(40) NULL,
    lname VARCHAR(40) NULL,
    created TIMESTAMP
);

e use o seguinte comando para importar o XML:
LOAD XML LOCAL INFILE 'person.xml'
INTO TABLE person
ROWS IDENTIFIED BY '<person>';

Ou se você estiver executando o MySQL 5.0, você pode usar LOAD_FILE para carregar todo o documento XML como uma string em uma única coluna e, em seguida, analisá-lo usando a funcionalidade XPath do MySQL.

Este artigo no MySQL.com tem mais detalhes:Usando XML no MySQL 5.1 e 6.0 .