SQL - Datenbanken anzeigen: Ein Leitfaden für Anfänger
Hallo, angehende Datenbankenthusiasten! Heute machen wir uns auf eine aufregende Reise in die Welt der SQL, dabei konzentrieren wir uns insbesondere darauf, wie man Datenbanken anzeigt oder auflistet. Machen Sie sich keine Sorgen, wenn Sie noch nie eine Zeile Code geschrieben haben – ich werde Ihr freundlicher Guide sein, und wir gehen das Schritt für Schritt durch. Also, holen Sie sich eine Tasse Kaffee und tauchen wir ein!
Was sind Datenbanken?
Bevor wir uns dem Anzeigen von Datenbanken zuwenden, lassen Sie uns schnell verstehen, was eine Datenbank ist. Stellen Sie sich einen digitalen Aktenkasten vor, in dem Sie Informationen speichern, organisieren und abrufen können. Das ist im Wesentlichen, was eine Datenbank ist! In der Computerwelt verwenden wir Datenbanken, um alle möglichen Daten zu verfolgen, von dem Inventar Ihres Lieblings-Onlineshops bis hin zu Ihren Social-Media-Posts.
Warum müssen wir Datenbanken anzeigen?
Nun, Sie fragen sich vielleicht, "Warum müssen wir Datenbanken anzeigen?" Stellen Sie sich vor, Sie sind ein Bibliothekar, der mehrere Bibliotheken in einer Stadt verwaltet. Wäre es nicht hilfreich, eine Liste aller von Ihnen verwalteten Bibliotheken zu haben? Genau das tut das Anzeigen von Datenbanken in SQL für uns – es gibt uns einen Überblick über alle Datenbanken, auf die wir Zugriff haben.
Datenbanken mit SQL auflisten
In SQL gibt es mehrere Möglichkeiten, Datenbanken aufzulisten oder anzuzeigen. Lassen Sie uns jede Methode einzeln untersuchen.
Die ANZEIGE DATENBANKEN-Anweisung
Der direkteste Weg, alle Datenbanken aufzulisten, ist die Verwendung der SHOW DATABASES
-Anweisung. Es ist, als würde man SQL fragen: "Kannst du mir alle Datenbanken zeigen?"
SHOW DATABASES;
Wenn Sie diesen Befehl ausführen, wird SQL eine Liste aller Datenbanken, auf die Sie Zugriff haben, zurückgeben. Es könnte etwas wie folgt aussehen:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| my_first_database |
+--------------------+
Jede Zeile in diesem Ergebnis repräsentiert eine Datenbank. Diejenigen wie 'information_schema', 'mysql', 'performance_schema' und 'sys' sind Systemdatenbanken, die mit MySQL kommen. Jegliche von Ihnen selbst erstellten Datenbanken (wie 'my_first_database' in diesem Beispiel) erscheinen ebenfalls in dieser Liste.
Die ANZEIGE SCHEMA-Anweisung
Wussten Sie, dass 'Schema' ein anderes Wort für 'Datenbank' in SQL ist? Das ist wahr! Daher können wir auch die SHOW SCHEMAS
-Anweisung verwenden, die genau dasselbe tut wie SHOW DATABASES
.
SHOW SCHEMAS;
Dies wird Ihnen das gleiche Ergebnis wie SHOW DATABASES
liefern. Es ist, als würden Sie im Restaurant sagen: "Kann ich die Speisekarte sehen?" oder "Kann ich die Liste der Gerichte sehen?" – Sie werden dasselbe bekommen!
Die SELECT...FROM-Anweisung
Für diejenigen, die ihre SQL-Fähigkeiten etwas mehr einsetzen möchten, gibt es eine andere Methode, Datenbanken aufzulisten, indem man eine SELECT
-Anweisung verwendet. Diese Methode beinhaltet das Abfragen der INFORMATION_SCHEMA
, die eine Datenbank ist, die Informationen über alle anderen Datenbanken speichert.
SELECT SCHEMA_NAME
FROM INFORMATION_SCHEMA.SCHEMATA;
Diese Abfrage sagt: "Bitte wählen Sie die Namen aller Schemata (Datenbanken) aus der INFORMATION_SCHEMA.SCHEMATA-Tabelle aus." Das Ergebnis wird ähnlich demjenigen von SHOW DATABASES
aussehen, aber in einer leicht anderen Form:
+--------------------+
| SCHEMA_NAME |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| my_first_database |
+--------------------+
Die EXEC sp_databases-Anweisung (SQL Server)
Wenn Sie Microsoft SQL Server anstelle von MySQL verwenden, haben Sie eine andere Option: die EXEC sp_databases
-Anweisung. Dies ist, als würden Sie einen hilfreichen Roboter bitten, ein vorgefertigtes Programm auszuführen, das die Liste der Datenbanken für Sie abruft.
EXEC sp_databases;
Dies wird einen Ergebnismengen mit zusätzlichen Informationen über jede Datenbank zurückgeben:
+--------------------+--------------+-------------------+
| DATABASE_NAME | DATABASE_SIZE| REMARKS |
+--------------------+--------------+-------------------+
| master | 6392 | NULL |
| tempdb | 16384 | NULL |
| model | 16384 | NULL |
| msdb | 15928 | NULL |
| my_first_database | 8192 | NULL |
+--------------------+--------------+-------------------+
Hier sehen Sie nicht nur die Datenbanknamen, sondern auch ihre Größen und Remarks (die normalerweise NULL sind,除非 Sie haben zusätzliche Remarks hinzugefügt).
Vergleich der Methoden
Lassen Sie uns diese Methoden in einer praktischen Tabelle zusammenfassen:
Methode | Syntax | Datenbanksystem | Benutzerfreundlichkeit | Zusätzliche Informationen |
---|---|---|---|---|
SHOW DATABASES | SHOW DATABASES; |
MySQL, MariaDB | Sehr einfach | Keine |
SHOW SCHEMAS | SHOW SCHEMAS; |
MySQL, MariaDB | Sehr einfach | Keine |
SELECT...FROM | SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA; |
MySQL, MariaDB, PostgreSQL | Moderat | Anpassungsfähig |
EXEC sp_databases | EXEC sp_databases; |
SQL Server | Einfach | Zeigt Größe und Remarks |
Schlussfolgerung
Und hier haben Sie es, Leute! Wir haben vier verschiedene Möglichkeiten untersucht, um Datenbanken in SQL anzuzeigen oder aufzulisten. Egal, ob Sie die Einfachheit von SHOW DATABASES
, die Flexibilität einer SELECT
-Anweisung oder die zusätzlichen Informationen von EXEC sp_databases
bevorzugen, Sie haben nun die Werkzeuge, um einen Überblick über Ihr Datenbankland zu bekommen.
Denken Sie daran, das Anzeigen Ihrer Datenbanken ist wie das Besitzen einer Karte Ihrer Datenwelt. Es ist der erste Schritt, um die weiten Meere der Informationen zu durchqueren, die Ihnen zur Verfügung stehen. Während Sie Ihre SQL-Reise fortsetzen, werden Sie diese Befehle oft verwenden, insbesondere wenn Sie mit neuen Systemen arbeiten oder sich in einer komplexen Datenbankumgebung orientieren möchten.
Üben Sie weiter, bleiben Sie neugierig und fürchten Sie sich nicht, zu experimentieren. Bevor Sie es wissen, werden Sie Datenbanken wie ein Profi abfragen! Bis下次, happy coding!
Credits: Image by storyset