I’m not an anti-GUI person. In fact, I wrote three books about web GUI development with Java. However, I also like the command-line interface (CLI), especially text-based UIs. After a year of exploring MariaDB and the DevOps world, I got to discover and play with many text-based CLI tools that I didn’t know even existed. These tools are especially useful when connecting to remote servers that don’t have a GUI.
Eine besondere CLI-Anwendung, die ich häufig verwende, ist der mariadb
SQL Client (oder mysql
im MySQL-Umfeld) – ein CL-Programm zum Herstellen einer Verbindung zu MariaDB-kompatiblen Datenbanken. Damit können Sie SQL-Abfragen und andere Befehle an den Datenbankserver senden.
Der MariaDB-CLI-basierte SQL-Client
Der mariadb
SQL-Client verfügt über mehrere Konfigurationsoptionen, darunter die Möglichkeit, einen Terminal-Pager festzulegen. Wenn Sie mit Linux vertraut sind, haben Sie wahrscheinlich die Pager more
und less
gehört oder verwendet. Sie können einen Pager über die Umgebungsvariable PAGER
festlegen, und mariadb
wird diesen automatisch verwenden. Alternativ können Sie einen Pager nur für die aktuelle Sitzung über die mariadb
-Eingabeaufforderung festlegen. Um beispielsweise den less
-Pager zu verwenden, führen Sie den folgenden Befehl aus, sobald Sie eine Verbindung zur Datenbank hergestellt haben:
pager less
Beim nächsten Ausführen einer SQL-Abfrage können Sie sich mithilfe der Pfeiltasten auf Ihrer Tastatur durch die Ergebnismenge navigieren.
Festlegen eines Pagers mit dem mariadb
SQL-Client
Der less
-Pager ist nützlich, aber nicht der beste für SQL-Ergebnismengen, die als Tabellen dargestellt werden. Es gibt ein Open-Source-Tool namens pspg
(siehe die Dokumentation und den Quellcode auf GitHub), ursprünglich für PostgreSQL entwickelt, das später Unterstützung für mehrere andere Datenbanken hinzugefügt hat, einschließlich MariaDB. Da der mariadb
SQL-Client in der Lage ist, eine Verbindung zu MariaDB Xpand-Datenbanken herzustellen, habe ich es ausprobiert und es hat einwandfrei funktioniert. Lesen Sie weiter, um zu erfahren, wie Sie es ausprobieren können.
Der einfachste Weg, eine Xpand-Datenbank zum Laufen zu bringen, ist die Erstellung eines Dienstes auf SkySQL (es ist kostenlos). Sie können jedoch auch eine lokale Instanz mit Docker ausführen. Hier ist der erforderliche Codeausschnitt:
docker run --name xpand \
-d \
-p 3306:3306 \
--ulimit memlock=-1 \
mariadb/xpand-single
Datenbanken sind spaßiger, wenn sie Daten enthalten. Ein einfaches aber interessantes Demo-Datenbank ist auf dieser Website verfügbar. Auf Linux-ähnlichen Betriebssystemen führen Sie die folgenden Befehle aus (ändern Sie die IP-Adresse im letzten Befehl, wenn Ihre Xpand-Datenbank woanders läuft):
sudo apt install curl -y
curl https://www.mariadbtutorial.com/wp-content/uploads/2019/10/nation.zip --output nation.zip
unzip nation.zip
mariadb -h 127.0.0.1 -u xpand < nation.sql
rm nation.zip nation.sql
Denken Sie daran, pspg
zu installieren:
apt install pspg -y
Stellen Sie eine Verbindung zur Datenbank her, indem Sie den mariadb
SQL-Client mit einer benutzerdefinierten und cooler Prompt-Zeile verwenden, die “Xpand” anzeigt:
mariadb -h 127.0.0.1 -u xpand --prompt="Xpand [\d]> " nation
I learned this tip from my colleague Patrick Bossman (Product Manager at MariaDB) during a webinar on MariaDB Xpand + Docker. I recommend watching it if you want to learn more.
Verbindung zu MariaDB Xpand über einen benutzerdefinierten Prompt herstellen
Setzen Sie den pspg
Pager für die aktuelle Sitzung:
pager pspg -s 14 -X --force-uniborder --quit-if-one-screen
A nice feature in pspg
is that it shows the fancy text-based UI only when it makes sense (--quit-if-one-screen
). So if your query returns only a few rows that fit in the screen, it will just show them right there on the screen as usual. For example, try running the following query:
select * from continents;
Hier gibt es nichts Neues zu sehen.
Der pspg
Pager wird nicht aktiviert, wenn nur wenige Zeilen angezeigt werden
Probieren Sie jedoch Folgendes aus:
select * from countries;
A navigable text-based interface allows you to explore the data more efficiently.
Der pspg
Pager, der Daten von MariaDB Xpand rendert
Sie können nach einer Zeile suchen, sortieren, in CSV exportieren, Spalten einfrieren, Zeilen markieren und sogar mit der Maus mit dem Tool interagieren, unter anderem.
Einige der Menüoptionen in pspg
I hope this tool helps you the next time you have to interact with a database via SSH and the command line. You can find more information about how to install pspg
on your operating system, configuration options, and documentation on the GitHub repository for the project. If you want to learn more about distributed SQL and the MariaDB Xpand database, watch this short video, take a look at this datasheet, and explore some of the blog posts and documentation.
Source:
https://dzone.com/articles/using-the-postgressql-pager-with-mariadb-xpand