Hi!
mysql ..... -e "select ..."
1.: Ist es moeglich, statt des Statements einen Dateinamen einer SQL-Datei zu uebergeben, die ausgefuehrt werden soll?
Klar, so wie du das Ergebnis "wegpipen" kannst (>), kannst du auch anderen Daten "hinpipen" (<). Steht aber als Beispiel im Handbuchkapitel zu mysql.
2.: Kann man das Format der Ausgabe individuell vorgeben? (XML-Ausgabe kann man laut Doku vorgeben, aber CSV nicht).
Dafür stehen dir alle Möglichkeiten des SELECT-Statements zur Vefügung. Wenn das was du willst nicht im Handbuch beschrieben ist, ist es nicht implementiert. Als Ersatz kannst du dann immer noch mit Stringfunktionen die Ausgabe zurechtzimmern. CSV ist problemlos möglich, von XML hab ich bisher noch nichts gelesen. Wo genau lasest du das?
Und noch eine etwas andere Frage: Vorher beim Einlesen eines SQL-Files von geschaetzter Groesse von 4MB bekamen wir einen Fehler, dass die Groesse des Inputs groesser als MAX_ALLOWED_PACKET sei. Der Default-Wert davon ist 16MB. Sogar nach hochsetzten des Wertes auf ca. 100MB kam derselbe Fehler. Wir haben das Zeug einlesen koennen, nachdem wir es gefuenftelt haben und jeweils 10000 Datensaetze auf einmal eingetragen haben. Schon 20000 Datensaetze (ca. 1.5MB) wurden mit dem Verweis auf MAX_ALLOWED_PACKET abgelehnt. Warum?
War das ein großes Multi-INSERT-Statement oder pro Datensatz ein INSERT?
Lo!