Das Client-Befehlszeilentool von MySQL verfügt über viele benutzerfreundliche Funktionen und kann in einigen Aspekten sogar als benutzerfreundlicher als sqlplus von Oracle bezeichnet werden. Natürlich ist sqlplus insgesamt praktischer. Vielleicht liegt es daran, dass ich mit sqlplus besser vertraut bin. Hier sind einige häufig verwendete Funktionen der MySQL-Befehlszeile.
1. Verwenden Sie G, um die Ergebnisse vertikal nach Zeile anzuzeigen.
Wenn eine Zeile sehr lang ist und diese Zeile angezeigt werden muss, sieht das Ergebnis sehr unangenehm aus. Verwenden Sie G anstelle eines Semikolons nach einer SQL-Anweisung oder einem SQL-Befehl, um den Wert jeder Zeile vertikal auszugeben. Dies ist möglicherweise auch die Funktion, mit der jeder am besten vertraut ist und die MySQL von anderen Datenbanktools unterscheidet.
mysql> select * from db_archivelog\G *************************** 1. row *************************** id: 1 check_day: 2008-06-26 db_name: TBDB1 arc_size: 137 arc_num: 166 per_second: 1.6 avg_time: 8.7
2. Stellen Sie den Anzeigemodus mit dem Pager ein.
Wenn die ausgewählte Ergebnismenge mehrere Bildschirme überschreitet, vergehen die vorherigen Ergebnisse blitzschnell und sind nicht mehr sichtbar. Mithilfe von Pager können Sie den Aufruf von „more“ oder „less“ in „os“ einrichten, um Abfrageergebnisse anzuzeigen. Dies hat den gleichen Effekt wie die Verwendung von „more“ oder „less“ in „os“, um große Dateien anzuzeigen.
Mehr verwenden
mysql> pager more PAGER set to ‘more’ mysql> P more PAGER set to ‘more’
Weniger verwenden
mysql> pager less PAGER set to ‘less’ mysql> P less PAGER set to ‘less’
um auf Standard zurückzusetzen
mysql> nopager PAGER set to stdout
3. Verwenden Sie tee, um die laufenden Ergebnisse zu speichern in eine Datei
Dies ähnelt der Spool-Funktion von sqlplus, die die Ergebnisse in der Befehlszeile in einer externen Datei speichern kann. Wenn Sie eine bereits vorhandene Datei angeben, werden die Ergebnisse an die Datei angehängt.
mysql> tee output.txt Logging to file ‘output.txt’
oder
mysql> T output.txt Logging to file ‘output.txt’ mysql> notee Outfile disabled.
oder
mysql> t Outfile disabled
4. Führen Sie den Betriebssystembefehl aus
mysql> system uname Linux mysql> ! uname Linux
5. Führen Sie die SQL-Datei aus
mysql> source test.sql +—————-+ | current_date() | +—————-+ | 2008-06-28 | +—————-+ 1 row in set (0.00 sec)
oder
mysql> . test.sql +—————-+ | current_date() | +—————-+ | 2008-06-28 | +—————-+ 1 row in set (0.00 sec)
Es gibt weitere Funktionen, die Sie über die Hilfe oder ? erhalten können.
Fahren Sie mit dem obigen Thema fort und stellen Sie einige Tipps zur MySQL-Befehlszeile vor
1. Geben Sie die Ergebnisse im HTML-Format aus
Verwenden Sie den MySQL-Client-Parameter –html oder -T, und alle SQL-Abfrageergebnisse werden automatisch generiert Werden Sie zum HTML-Tabellencode
$ mysql -uroot –html Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 3286 Server version: 5.1.24-rc-log MySQL Community Server (GPL) Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer. mysql> select * from test.test; 2 rows in set (0.00 sec)
2. Geben Sie das Ergebnis im XML-Format aus
. Verwenden Sie die Option –xml oder -X, um das Ergebnis im XML-Format auszugeben
$ mysql -uroot –xml Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 3287 Server version: 5.1.24-rc-log MySQL Community Server (GPL) Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer. mysql> select * from test.test; 2 rows in set (0.00 sec)
3. Ändern Sie die Eingabeaufforderung
Verwenden Sie die Option –prompt= von MySQL oder verwenden Sie den Eingabeaufforderungsbefehl nach dem Aufrufen der MySQL-Befehlszeilenumgebung. Sie können die Eingabeaufforderung ändern
mysql> prompt u@d> PROMPT set to ‘u@d>’ root@(none)>use mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed root@mysql>
wo u stellt den aktuell verbundenen Benutzer dar, d stellt die aktuell verbundene Datenbank dar. Weitere Optionen finden Sie unter man mysql
Hier stellen wir die Parameter zum Festlegen der MySQL-Befehlszeile über die Konfigurationsdatei vor.
Einige Betriebsparameter der MySQL-Befehlszeile können über den Abschnitt [mysql] der Konfigurationsdatei /etc/my.cnf festgelegt werden. Beispiel:
[mysql] prompt=\u@\d \r:\m:\s> pager=’less -S’ tee=’/tmp/mysql.log’
Zeigen Sie den Benutzernamen, die aktuelle Datenbank und die aktuelle Uhrzeit über die Eingabeaufforderungseinstellungen an. Beachten Sie, dass es am besten ist, doppelte Schrägstriche in der Konfigurationsdatei zu verwenden:
root@poster 10:26:35>
Verwenden Sie Weniger durch Pager-Einstellungen Um die Abfrageergebnisse anzuzeigen, bedeutet -S, Zeilen abzuschneiden, die die Bildschirmbreite überschreiten. Wenn eine Zeile zu lang ist, erscheint das Anzeigeformat von MySQL unordentlich. Wenn Sie die vollständige Zeile anzeigen möchten, wird dies empfohlen um G zu verwenden, um die Linie vertikal auszugeben. Natürlich können Sie auch weitere Parameter hinzufügen, um die Ausgabe zu steuern.
tee speichert die gesamte Ausgabe der MySQL-Ausführung in einer Protokolldatei. Auch wenn less -S zum Abschneiden der superlangen Zeile verwendet wird, wird das gesamte Ergebnis weiterhin im Protokoll aufgezeichnet Wird über eine Eingabeaufforderung eingestellt. Die Zeitanzeige erleichtert die Anzeige der Zeit jedes Vorgangs in der Protokolldatei. Da die Ergebnisse von tee an die Datei angehängt werden, muss die Protokolldatei regelmäßig gelöscht werden.