Online Suche im Handbuch |
Nun haben wir bisher nur die Möglichkeit kennengelernt, eine Datei einzuladen, die bereits auf dem Server abgelegt ist. Eine Datei, z.B. aus EXCEL, ACCESS oder DBASE als ASCII exportiert, könnte man zuerst auf den Server kopieren, und dann mit dem Statement LOAD DATA INFILE ... INTO TABLE ... importieren. Es gibt jedoch viel elegantere Methoden ....:
In MySQL 3.23 gibt es jedoch die Möglichkeit, mit dem original MySQL Client von Ihrer Arbeitsstation aus eine Datei über das Netzwerk, das kann auch ISDN sein, in die Datenbank einzulesen. Benutzen Sie hierzu den Client aus von unserem Server http://www.rent-a-database.de/mysql/client/:
mysql> load data local infile "c:\datenexport.txt" into table testtabelle;
Query OK, 3 rows affected (0.00 sec)
Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
mysql> select * from testtabelle;
+---------+------------------------------------+
| spalte1 | spalte2 |
+---------+------------------------------------+
| 5 | test |
| 5 | testwert |
| 34567 | kannix und istnix weissnix habenix |
| 5 | test |
| 5 | testwert |
| 34567 | kannix und istnix weissnix habenix |
+---------+------------------------------------+
6 rows in set (0.00 sec)
mysql>
Fein, hat also funktioniert. Damit Sie die Daten auch ersetzen, während Sie
die Daten updaten, sollten in der Tabelle eine Spalte im einem UNIQUE
KEY enthalten sein. Sie können dann mit folgendem Statement Ihr Update
durchführen, während Ihre Datenbank weiterhin abgefragt wird. Hier nun
obiges Statement mit der Option replace. Versetzen Sie hierzu Ihre
Datenbank zuvor wieder in den Ausgangszustand:
mysql> load data local infile "c:\datenexport.txt" replace into table testtabelle;
Query OK, 3 rows affected (0.00 sec)
Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
mysql> select * from testtabelle;
+---------+------------------------------------+
| spalte1 | spalte2 |
+---------+------------------------------------+
| 5 | test |
| 5 | testwert |
| 34567 | kannix und istnix weissnix habenix |
+---------+------------------------------------+
3 rows in set (0.00 sec)
mysql>
Es hat offensichtlich funktioniert !
Online Suche im Handbuch |