Finden Sie Tabellen in MySQL mit bestimmten Spaltennamen darin

Preet Sanghavi 20 Juni 2023
  1. Schema in MySQL
  2. Erstellen Sie Tabellen im MySQL-Schema und listen Sie sie auf
  3. Listen Sie Tabellen mit bestimmten Spaltennamen in MySQL auf
Finden Sie Tabellen in MySQL mit bestimmten Spaltennamen darin

Dieses Tutorial zeigt, wie Sie alle Tabellen in MySQL mit bestimmten Spaltennamen finden, aber vorher ist es wichtig, das Schema (Datenbank) zu verstehen, in dem diese Tabellen gespeichert sind. Fangen wir also damit an.

Schema in MySQL

Eine Datenbank/ein Schema spezifiziert die logischen Einschränkungen, einschließlich Tabellennamen, Felder, Datentypen und die Verbindungen zwischen diesen Entitäten, die bestimmen, wie Daten in einer relationalen Datenbank angeordnet werden.

Schema / Datenbank erstellen:

mysql> CREATE SCHEMA schema_name;

ODER

mysql> CREATE DATABASE schema_name;

Diese obigen Abfragen werden zum Erstellen von Schemas/Datenbanken verwendet, die eine ähnliche Ausgabe zeigen. Sie müssen zuerst das soeben erstellte Schema auswählen, um dieses Schema zu verwenden und Abfragen auszuführen.

Schema verwenden:

mysql> USE schema_name;

Wenn Sie jedoch ein bestimmtes Schema oder eine bestimmte Datenbank löschen möchten, müssen Sie die folgende Abfrage ausführen.

Drop-Schema:

mysql> DROP SCHEMA schema_name;

Erstellen Sie Tabellen im MySQL-Schema und listen Sie sie auf

Alle Daten in einer Datenbank werden in Tabellen gespeichert, die als Datenbankobjekte bezeichnet werden.

Die Daten werden logisch in Tabellen angeordnet, wobei ein Zeilen- und Spaltenlayout ähnlich einer Tabellenkalkulation verwendet wird. Jede Spalte bezeichnet ein Datensatzfeld, und jede Zeile gibt einen bestimmten Datensatz an.

Erstellen Sie eine Tabelle:

mysql> CREATE TABLE table_name(
            column_name datatype,
            column_name datatype,
            ...
        );

In MySQL wird bei Tabellen- und Spaltennamen nicht zwischen Groß- und Kleinschreibung unterschieden. Das heißt, wenn Sie eine Tabelle namens MY_TABLE und my_table erstellen, sind beide gleich.

Wenn Sie eine Tabelle nicht benötigen, können Sie sie mit der folgenden Abfrage aus dem Schema entfernen.

mysql> DROP TABLE table_name;

Ein Schema/eine Datenbank kann viele Tabellen enthalten. Sie können sich ein Schema als einen Ordner vorstellen, den Sie auf Ihrem Betriebssystem erstellen.

Manchmal wird es überwältigend, und Sie verlieren den Überblick über die Tabellen, die Sie in Ihrem Schema erstellt haben, und möchten alle Tabellen in dem bestimmten Schema auflisten.

In diesem Fall ist die folgende Abfrage sehr nützlich. Stellen Sie zunächst sicher, dass Sie Ihr Schema mit USE schema_name; ausgewählt haben. Anfrage.

Alle Tabellen anzeigen:

mysql> SHOW TABLES;

Wenn Sie auch wissen möchten, welche Arten von Tabellen in Ihrem Schema vorhanden sind, können Sie die obige Abfrage weiter ändern:

mysql> SHOW FULL TABLES;

Außerdem, wenn Sie die Liste der Tabellen aus einem anderen Schema wünschen, ohne Ihr aktuelles Schema zu wechseln. MySQL bietet diese Funktion; Sie können die Klausel FORM oder IN in der Abfrage verwenden:

mysql> SHOW TABLES FROM schema_name;

ODER

mysql> SHOW TABLES IN schema_name;

Dies sind die grundlegenden Abfragen, die Ihnen helfen, grundlegende Details aus einem Schema abzurufen. Sie können diese Abfrage jedoch auch weiter modifizieren, wodurch Sie genau das gewünschte Ergebnis erhalten, und Sie können damit ausgefallener werden.

Listen Sie Tabellen mit bestimmten Spaltennamen in MySQL auf

Wenn Sie eine Tabelle aus einem beliebigen Schema finden möchten, die bestimmte Spalten enthält, suchen Sie.

Mit Hilfe einer MySQL-Ansicht namens INFORMATION_SCHEMA.COLUMNS können wir alle Spalten oder bestimmte Spalten aus allen Tabellen abrufen und ansehen.

Standardmäßig werden Spalten aus jeder TABELLE im Schema abgerufen. Sie können diese Spalten jedoch mit den Klauseln SELECT, FROM und WHERE filtern.

mysql> SELECT DISTINCT table_name
       FROM INFORMATION_SCHEMA.COLUMNS
       WHERE COLUMN_NAME IN ('column_1', 'column_2', ...)
           AND TABLE_SCHEMA = 'schema_name';

Oder eine einfachere Version der obigen Abfrage:

mysql> SELECT * FROM INFORMATION_SCHEMA.COLUMNS 
       WHERE column_name = 'column_names';

Wenn Sie sich über den genauen Namen der Spalte, die Sie abrufen möchten, nicht sicher sind, gibt es eine alternative Option: reguläre Ausdrücke.

MySQL unterstützt reguläre Ausdrücke aus einer der vielen Kombinationen regulärer Ausdrücke. So können Sie beispielsweise mit den Klauseln WHERE und LIKE mit nur einem Wort Ihre gewünschte Spalte finden.

Anschließend mit dem regulären Ausdruck '%column_word%'. Das '%column_word%' findet jeden Wert mit dem erwähnten Wort an beliebiger Position.

mysql> SELECT * FROM INFORMATION_SCHEMA.COLUMNS 
       WHERE COLUMN_NAME LIKE '%column_word%';
Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

Verwandter Artikel - MySQL Column