2016-05-27 3 views
0

Gibt es eine Möglichkeit Daten wie diese zu importieren:Kann ich Daten als großen String in MySQL importieren?

mysql> IMPORT DATA INTO db1.table_foo FROM RAW "col1 col2 col3\n10 2 6\n9 4 3\n8 8 2\n"

Oder wie folgt aus:

%> mysql --raw-option -u user db1.table_foo < cat "col1 col2 col3\n10 2 6\n9 4 3\n8 8 2\n"

+2

http://dev.mysql.com/doc/refman/5.7/en/load-data.html – ceejayoz

+0

Eingabe in mysql umgeleitet muss aus tatsächlichen SQL-Anweisungen bestehen. Sie können nicht einfach irgendeinen zufälligen Text in mysql knallen (selbst wenn Sie eine Tabelle angeben) und erwarten, dass mysql weiß, was damit zu tun ist. Woher soll es wissen, ob das mehrere Spalten sind, oder eine einzelne Spalte, die durch Leerzeichen getrennt ist, oder eine wackelige Kombination von Multiword- und Singleword-Feldern? –

+0

Gut die "LOAD DATA INFILE" -Funktion bietet verschiedene Methoden zum Parsen einer Textdatei (CSV, TSV), also versuche ich, die gleiche Funktionalität 'in einer Zeile' in einem Skript zu verwenden. –

Antwort

1

Sie die --execute or -e parameters von MySQL-Befehlszeilenprogramm verwenden können SQL-Anweisungen von einem auszuführen Zeichenfolge. Mysql-Dokumentation unter command line options enthält Details zur Verwendung dieser Option:

Option Werte, die Leerzeichen enthalten müssen zitiert werden, wenn in der Befehlszeile angegeben. Zum Beispiel kann die Option --execute (oder -e) mit mysql verwendet werden, um SQL-Anweisungen an den Server zu übergeben. Wenn diese Option verwendet wird, führt mysql die Anweisungen im Optionswert aus und wird beendet. Die Anweisungen müssen in Anführungszeichen gesetzt werden.

[...]

Wenn Sie innerhalb einer Anweisung angegebenen Werte verwenden, werden Sie entweder Notwendigkeit, die inneren Anführungszeichen zu entkommen, oder eine andere Art von Anführungszeichen innerhalb der Anweisung von denen verwenden verwendet, um die Anweisung selbst zu zitieren. Die Fähigkeiten Ihres Befehlsprozessors diktieren Ihre Entscheidungen für, ob Sie einzelne oder doppelte Anführungszeichen und die Syntax für das Ausbrechen von Anführungszeichen verwenden können. Wenn beispielsweise Ihr Befehlsprozessor die Verwendung von einfachen oder doppelten Anführungszeichen unterstützt, können Sie doppelte Anführungszeichen um die Anweisung und einfache Anführungszeichen für alle in der Anweisung angegebenen Werte verwenden.

mehr SQL-Anweisungen können in dem Optionswert auf der Befehlszeile, getrennt durch Semikolons

noch weitergegeben werden, muss der Import als SQL-Anweisung ausgeführt werden. Kann nicht direkt mit Daten aus einem String importiert werden.

Verwandte Themen