CLI: mySQL pgsql Spickzettel

Ich kann es mir nicht merken 😉

Zur Zeit arbeiten wir im Team an der Programmierung mit zwei unterschiedlichen Datenbank Backend’s: mySQL und Postgres. „Mal eben“ die Struktur einer Tabelle aufrufen, läuft über die Bash CLI unterschiedlich.

schnelle CLI Befehle

BeschreibungmySQLpgsql
einfaches Loginmysql -u user -h IP -p -D db
psql -U user -h IP -d db
Befehlsausführung
ohne Login
mysql -u user -h IP -p -D db -e "select * from tabelle;"psql -U user -h IP -d db -c "select * from schema.tabelle;"
Auflistung Datenbankenshow databases;\l+
Auflistung Tabellenshow tables;\dt+
Kontext Datenbankuse database;\c db
Beschreibung Tabelledescribe table;\d+ table
Auflistung Schemasshow schemas;\dn+
Postgresql: Tabellen werden mit \dt in Bezug auf Schema und Suchpfad aufgelistet. Als Standard ist nur der Suchpfad "public" eingestellt. Der Suchpfad kann temp. mit "SET search_path TO schema1,schema2,public" oder dauerhaft durch "alter database db set search_path = schema1,schema2, public;" eingestellt werden.

Obacht mit Großschreibung im Schema! Ein Schema mit Großschreibung im Suchpfad, wird in Kleinbuchstaben gespeichert. Das Schema ist als String zu maskieren!