Der Client mysqlimport stellt eine
Befehlszeilenoberfläche für die SQL-Anweisung LOAD
DATA INFILE
bereit. Die meisten Optionen für
mysqlimport entsprechen direkt Klauseln der
LOAD DATA INFILE
-Syntax. Siehe auch
Abschnitt 13.2.5, „LOAD DATA INFILE
“.
Rufen Sie mysqlimport wie folgt auf:
shell> mysqlimport [options
] db_name
textfile1
[textfile2
...]
Bei jeder Textdatei, die auf der Befehlszeile angegeben wird,
entfernt mysqlimport die
Dateinamenserweiterung und bestimmt anhand des Ergebnisses den
Namen der Tabelle, in die der Inhalt der Datei importiert
werden soll. So würden beispielsweise die Dateien mit den
Namen patient.txt
,
patient.text
und
patient
alle in eine Tabelle namens
patient
importiert.
mysqlimport unterstützt die folgenden Optionen:
--help
, -?
Zeigt eine Hilfemeldung an und wird dann beendet.
--columns=
,
column_list
-c
column_list
Diese Option nimmt eine kommagetrennte Liste der Spaltennamen als Wert entgegen. Die Reihenfolge der Spaltennamen gibt an, wie die Spalten in der Datendatei den Tabellenspalten zuzuordnen sind.
--compress
, -C
Komprimiert alle Daten, die zwischen Client und Server ausgetauscht werden, sofern beide die Komprimierung unterstützen.
--debug[=
,
debug_options
]-#
[
debug_options
]
Schreibt ein Debuglog. Der String
debug_options
heißt häufig
'd:t:o,
.
file_name
'
--delete
, -D
Leert die Tabelle vor dem Import der Textdatei.
--fields-terminated-by=…
,
--fields-enclosed-by=…
,
--fields-optionally-enclosed-by=…
,
--fields-escaped-by=…
,
--lines-terminated-by=…
Diese Optionen haben dieselbe Bedeutung wie die
entsprechenden Klauseln für LOAD DATA
INFILE
. Siehe auch Abschnitt 13.2.5, „LOAD DATA INFILE
“.
--force
, -f
Ignoriert Fehler. Wenn beispielsweise eine Tabelle für
eine Textdatei nicht vorhanden ist, wird ggf. mit der
Verarbeitung weiterer vorhandener Dateien fortgefahren.
Ohne --force
wird
mysqlimport beendet, wenn eine Tabelle
nicht vorhanden ist.
--host=
,
host_name
-h
host_name
Importiert Daten in den MySQL Server auf dem angegebenen
Host. Der Standardhost ist localhost
.
--ignore
, -i
Siehe Beschreibung zu --replace
.
--ignore-lines=
N
Ignoriert die ersten N
Zeilen
der Datendatei.
--local
, -L
Liest die Eingabedateien lokal vom Clienthost.
--lock-tables
, -l
Sperrt alle Tabellen für Schreiboperationen, bevor mit der Verarbeitung der Textdateien begonnen wird. Hierdurch ist sichergestellt, dass alle Tabellen auf dem Server synchronisiert sind.
--password[=
,
password
]-p[
password
]
Verwendet das angegebene Passwort zur Verbindung mit dem
Server. Wenn Sie die Kurzform der Option
(-p
) verwenden, dürfen Sie
kein Leerzeichen zwischen Option und
Passwort setzen. Lassen Sie den Wert
password
auf die Option
--password
bzw. -p
folgend weg, dann werden Sie zur Eingabe des Passworts
aufgefordert.
Die Angabe eines Passworts direkt auf der Befehlszeile ist als nicht sicher einzuordnen. Siehe auch Abschnitt 5.9.6, „Wie Sie Ihre Kennwörter sicher halten“.
--port=
,
port_num
-P
port_num
Die TCP/IP-Portnummer, die für die Verbindung verwendet werden soll.
--protocol={TCP|SOCKET|PIPE|MEMORY}
Das zu verwendende Verbindungsprotokoll.
--replace
, -r
Die Optionen --replace
und
--ignore
steuern den Umgang mit
eingegebenen Datensätzen, die Duplikate vorhandener
Datensätze mit eindeutigen Schlüsselwerten darstellen.
Wenn Sie --replace
angeben, ersetzen die
neuen die vorhandenen Datensätze, die denselben
eindeutigen Schlüsselwert aufweisen. Bei Angabe von
--ignore
hingegen werden neue
Datensätze, deren eindeutiger Schlüsselwert bereits
einem vorhandenen Datensatz zugewiesen ist, ignoriert.
Geben Sie keine Option an, dann tritt ein Fehler auf, wenn
ein doppelter Schlüsselwert gefunden wird; in diesem Fall
wird der Rest der Textdatei ignoriert.
--silent
, -s
Stummer Modus. Eine Ausgabe erfolgt nur, wenn ein Fehler auftritt.
--socket=
,
path
-S
path
Bei Verbindungen mit localhost
ist dies
die zu verwendende Unix-Socketdatei bzw. (unter Windows)
der Name der zu verwendenden Named Pipe.
--user=
,
user_name
-u
user_name
Verwendet den angegebenen MySQL-Benutzernamen zur Verbindung mit dem Server.
--verbose
, -v
Ausführlicher Modus. Es werden zusätzliche Angaben zu den Aktivitäten des Programms ausgegeben.
--version
, -V
Zeigt die Versionsinformation an und wird dann beendet.
Die nachfolgende Beispielsitzung veranschaulicht die Verwendung von mysqlimport:
shell>mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test
shell>ed
a 100 Max Sydow 101 Count Dracula . w imptest.txt 32 q shell>od -c imptest.txt
0000000 1 0 0 \t M a x S y d o w \n 1 0 0000020 1 \t C o u n t D r a c u l a \n 0000040 shell>mysqlimport --local test imptest.txt
test.imptest: Records: 2 Deleted: 0 Skipped: 0 Warnings: 0 shell>mysql -e 'SELECT * FROM imptest' test
+------+---------------+ | id | n | +------+---------------+ | 100 | Max Sydow | | 101 | Count Dracula | +------+---------------+
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.