2009-04-06 19 views
1

XMLファイルからMysqlテーブルにデータをロードするにはどうすればよいですか? XMLファイルとWrite to MySqlデータベースからデータを読み取る方法はありますか。 XMLファイルに大量のデータがあります。XMLファイルからMYSQLに一括挿入

アドバイスをいただきありがとうございます。

答えて

0

XSLを使用してXMLを標準のSQL挿入文に変換してから、mysqlクライアント内の "source"コマンドを使用して出力を読み取るのはなぜですか?

+0

XMLからSQLの代わりにCSVを生成する方が簡単かもしれませんが、一般的な考え方が最も簡単です。 – Javier

4

LOAD XML機能(MySQL 6.0)を試してください。含む person.xml XMLドキュメントを使用して

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

をし、次のコマンドを使用します。あなたがそうのようなテーブルを作成します

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

ここでは、リファレンスマニュアルからのサンプルコードを示しますXMLをインポートするコマンド:

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

MySQL 5.0を使用している場合は、LOAD_FILEを使用してXML文書全体を文字列として単一の列にロードし、MySQLのXPath機能を使用して解析することができます。

この記事は、MySQL.comで詳しくはUsing XML in MySQL 5.1 and 6.0です。

+0

こんにちはカルヴァン、私は5.1バージョンを使用しているし、URリンクを通過したが、私はMYSqlにXMLFileデータLoaingの手順を見つけた、私は使用して、それはエラーが表示されないデータがテーブルに読み込まれていない、 3riceの2wice、それは今エラーを示していますが、TAbleのnodataを満たします。 私を助けることができますか? –

+0

質問にあなたが持っているコードを投稿してみませんか?そうすれば、あなたがやっていることをもっとよく見て、何が起こっているのかを知ることができます。 – Calvin

1

簡単な解決策を探している場合、Navicatはかなり簡単なxmlインポート機能を備えています。