Heim  >  Artikel  >  php教程  >  MySQL-Befehlszeilenformatierte Ausgabe

MySQL-Befehlszeilenformatierte Ausgabe

高洛峰
高洛峰Original
2016-12-14 10:59:431389Durchsuche

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.


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:MySQL-BefehlszeileNächster Artikel:MySQL-Befehlszeile