webentwicklung-frage-antwort-db.com.de

So passen Sie die Anzeigeeinstellungen der MySQL-Befehlszeile an

Die Befehlszeile von mysql zeigt die Ergebnisse nicht richtig an. Ich meine, einige Tabellenspalten stehen in der 1. Zeile, einige in der 2. Zeile. Die Ausgabe ist ebenfalls in zwei Zeilen aufgeteilt. Wie stelle ich diese Einstellungen so ein, dass die Ergebnisse richtig angezeigt werden?.

33
XCeptable

Sie können den Befehl \G (anstelle von ;) am Ende Ihrer SQL-Abfragen verwenden ...

Beispiel:

SELECT * FROM USER \G

Ihre Tabelle wird in Zeilenform anstelle von Spaltenform angezeigt.

60
Buhake Sindi

meistens geschieht dies, wenn die abgerufene Reihe zu lang ist. Versuchen Sie, mit Ihrem Terminal zu spielen, um eine Bildlaufleiste zu haben, und Sie können sogar Schriftarten reduzieren.

Die Option mysql lautet 

mysql> pager less -n -i -S
34
Jinesh Parekh

Um den Bildlauf automatisch einzustellen, fügen Sie dies Ihrer my.cnf-Datei im Abschnitt [client] wie folgt hinzu:

[client]
pager = less -n -i -S
5
SilverSurfer972

Klicken Sie mit der rechten Maustaste in der Eingabeaufforderung der mysql-Eingabeaufforderung auf die Eingabeaufforderung, und wählen Sie Eigenschaften aus. Damit sollte das Problem behoben sein.enter image description here

1
cam clarke

Eine andere Option, die ich gesucht und schließlich gefunden habe, ist die MySQL-String-Funktion LEFT() .

  • LEFT(str,len)

Gibt die am weitesten links stehenden len Zeichen aus der Zeichenfolge str oder NULL zurück, wenn ein Argument NULL ist. 

Zum Beispiel ...

mysql> SELECT
    ->   `bib`,
    ->   `name_id` AS `Print`,
    ->   `code`,
    ->   `name_en` AS `EN`,
    ->   `name_fr` AS `FR`,
    ->   `name_de` AS `DE`,
    ->   `Id`
    -> FROM `iso639_Language`
    -> WHERE `Id` LIKE 'in%'
    -> ORDER BY `bib`;
+-----+------------------------------------------------------------+------+------------------------------------------------------------+------------------------------------------------+------------------+-----+
| bib | Print                                                      | code | EN                                                         | FR                                             | DE               | Id  |
+-----+------------------------------------------------------------+------+------------------------------------------------------------+------------------------------------------------+------------------+-----+
| ina | Interlingua (International Auxiliary Language Association) | ia   | Interlingua (International Auxiliary Language Association) | interlingua (langue auxiliaire internationale) | Interlingua      | ina |
| ind | Indonesian                                                 | id   | Indonesian                                                 | indonésien                                     | Bahasa Indonesia | ind |
| inh | Ingush                                                     | NULL | Ingush                                                     | ingouche                                       | Inguschisch      | inh |
+-----+------------------------------------------------------------+------+------------------------------------------------------------+------------------------------------------------+------------------+-----+
3 rows in set (0.01 sec)

... wird ...

mysql> SELECT
    ->   `bib`,
    ->   LEFT(`name_id`,15) AS `Print`,
    ->   `code`,
    ->   LEFT(`name_en`,10) AS `EN`,
    ->   LEFT(`name_fr`,10) AS `FR`,
    ->   LEFT(`name_de`,10) AS `DE`,
    ->   `Id`
    -> FROM `iso639_Language`
    -> WHERE `Id` LIKE 'in%'
    -> ORDER BY `bib`;
+-----+-----------------+------+------------+-------------+------------+-----+
| bib | Print           | code | EN         | FR          | DE         | Id  |
+-----+-----------------+------+------------+-------------+------------+-----+
| ina | Interlingua (In | ia   | Interlingu | interlingu  | Interlingu | ina |
| ind | Indonesian      | id   | Indonesian | indonésien  | Bahasa Ind | ind |
| inh | Ingush          | NULL | Ingush     | ingouche    | Inguschisc | inh |
+-----+-----------------+------+------------+-------------+------------+-----+
3 rows in set (0.00 sec)

Ich mag die Optionen \G und pager less -Sin und benutze sie. Oft brauche ich die Ergebnisse jedoch auf normale Weise. Mit der Pager-Option habe ich die Möglichkeit, die vorherigen Ergebnisse visuell zu referenzieren, da die Ausgabe vom ausgewählten Programm außerhalb von MySQL angezeigt wird und beim Schließen des Programms nicht mehr angezeigt wird. Mit der \G-Option kann ich leicht die Daten jedes Datensatzes als Ganzes vergleichen, aber der Vergleich von Datensätzen, z. B. das Anzeigen der Spalte nach Mustern oder Diskrepanzen, ist nicht so einfach.

Was ich früher tat, war, einige der Spalten zu entfernen, bis die Ergebnisse in das Fenster passten, die Abfragen mit anderen entfernten Spalten erneut auszuführen und eine "Ansicht" der Tabelle in meinem Kopf zu entwickeln. (Kein guter Platz zum Speichern von Tabellen.) Ich brauche selten die gesamte Spalte, wenn Sie MySQL im Terminal verwenden, und das selektive Reduzieren einer übermäßig langen Spalte aus einer Abfrage kann durch Bearbeiten des letzten Befehls zum Einfügen von LEFT() durchgeführt werden die beleidigende Kolumne, und ich bin bereit, das zu tun, was ich tun musste, mit wenig Ablenkung oder Zeitverlust.

0