Willkommen zur Lern-Kaffeepause, heute mit MySQL Befehlen! Ich mag es, auf der MySQL Konsole zu arbeiten. Sie ist überall verfügbar und Tastatur schlägt Maus sobald man die richtigen Befehle und Kürzel kennt. Aber es steckt mehr darin als nur Queries einzugeben. Heute teile ich ein paar Tipps, um Eure Produktivität mit der MySQL Konsole zu steigern:
- Einmal schnell etwas auf der Shell ausführen ohne die Konsole zu verlassen? Das geht mit dem
system
Befehl:system rm -rf var/cache/*
-
Einen Datensatz mit vielen Spalten zu betrachten ist unübersichtlich? Man kann das Ergebnis vertikal darstellen, indem man den Query mit
\G
anstatt mit;
abschließtSELECT * FROM sales_flat_order WHERE entity_id=42\G
- Mit dem
pager
Befehl könnt Ihr beliebige Shell Befehle spezifizieren, die die Ausgabe der folgenden Queries als Eingabe erhalten.pager
ohne Parameter, odernopager
setzt den Standardwert STDOUT zurück.
Beispiele:- Fast immer nützlich: Durch große Ergebnisse scrollen und darin suchen:
pager less
- Eine Prüfsumme des Ergebnisses berechnen, nützlich um Ergebnisse auf Gleichheit zu prüfen:
pager md5sum
- Ergebnisse mit regulärem Ausdruck “PATTERN” filtern, nützlich wenn man Inhalte über mehrere Spalten hinweg sucht:
pager grep PATTERN
- Fast immer nützlich: Durch große Ergebnisse scrollen und darin suchen:
Vertikale Ergebnisse mit “pager grep” zu kombinieren ist auch nützlich, wenn man nur Spalten anzeigen möchte, die einem bestimmten Muster entsprechen:
I'm enjoying my newly aquired MySQL command knowledge 😊 pic.twitter.com/yAjowSXzT0
— Fabian Schmengler (@fschmengler) July 28, 2016
Neben diesen Befehlen, möchte ich auch noch einige allgemeine DDL Queries teilen, die ich ständig benutze:
- Ihr sucht eine Tabelle aber könnt euch nicht an den genauen Namen erinnern? Zeige alle Tabellen, mit “index” im Namen:
SHOW TABLES LIKE '%index%';
- Und wie sahen die Spalten noch mal aus? Zeige die Spaltendefinitionen für die catalog_product_index_price Tabelle:
DESCRIBE catalog_product_index_price;
- Mehr Infos über die Tabelle? Constraints, Engine, Charset? Bitte sehr:
SHOW CREATE TABLE catalog_product_index_price;
Und nicht vergessen, kin Magento kann man die Konsole direkt mit
n98-magerun db:console
bzw.
n98-magerun2 db:console
öffnen (Ihr nutzt magerun, oder?)