MySQL - Show Columns: Ein Anfängerleitfaden
Hallo da draußen, angehende Datenbankbegeisterte! Heute tauchen wir in die zauberhafte Welt von MySQL ein und erkunden ein praktisches kleines Werkzeug namens "Show Columns." Keine Sorge, wenn du noch nie eine Zeile Code geschrieben hast – ich werde dein freundlicher Guide auf dieser Reise sein, und wir werden alles Schritt für Schritt angehen.
MySQL Show Columns Anweisung
Lassen Sie uns mit den Grundlagen beginnen. Stell dir vor, du hast einen großen Aktenkasten (das ist deine Datenbank) mit verschiedenen Schubladen (Tabellen). Manchmal möchtest du wissen, welche Art von Informationen jede Schublade aufnehmen kann. Genau hier kommt die SHOW COLUMNS Anweisung ins Spiel!
Die grundlegende Syntax sieht so aus:
SHOW COLUMNS FROM table_name;
Angenommen, wir haben eine Tabelle namens students
. Um zu sehen, welche Spalten sie hat, schreiben wir:
SHOW COLUMNS FROM students;
Dies könnte etwas wie folgt zurückgeben:
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| name | varchar(50) | YES | | NULL | |
| age | int | YES | | NULL | |
| grade | varchar(2) | YES | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
Dies tells uns, dass unsere students
Tabelle vier Spalten hat: id, name, age und grade. Es gibt uns auch Informationen über den Datentyp jeder Spalte, ob sie NULL sein kann, ob sie ein Schlüssel ist und ob es Standardwerte oder zusätzliche Eigenschaften gibt.
Der LIKE Klausel
Nun, was ist, wenn du eine Tabelle mit vielen Spalten hast, aber nur an Spalten interessiert bist, die mit einem bestimmten Buchstaben beginnen? Genau hier kommt die LIKE Klausel ins Spiel!
SHOW COLUMNS FROM table_name LIKE 'pattern';
Zum Beispiel, wenn wir alle Spalten in unserer students
Tabelle sehen möchten, die mit 'a' beginnen, schreiben wir:
SHOW COLUMNS FROM students LIKE 'a%';
Dies könnte folgendes zurückgeben:
+-------+------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+------+------+-----+---------+-------+
| age | int | YES | | NULL | |
+-------+------+------+-----+---------+-------+
Das '%' ist ein Platzhalter, der jede Sequenz von Zeichen entspricht. Also bedeutet 'a%' "beginnt mit 'a' und kann alles nachfolgende haben."
Der WHERE Klausel
Der WHERE Klausel ermöglicht es uns, unsere Ergebnisse basierend auf spezifischen Bedingungen zu filtern. Es ist, als ob du deinem Aktenkasten sagst: "Ich möchte nur Schubladen sehen, die diesen Kriterien entsprechen."
SHOW COLUMNS FROM table_name WHERE condition;
Zum Beispiel, wenn wir alle ganzzahligen Spalten in unserer students
Tabelle sehen möchten:
SHOW COLUMNS FROM students WHERE Type LIKE 'int%';
Dies würde uns folgendes geben:
+-------+------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| age | int | YES | | NULL | |
+-------+------+------+-----+---------+----------------+
Der FULL Klausel
Manchmal möchtest du ALLE Informationen über deine Spalten. Genau hier kommt die FULL Klausel ins Spiel. Es ist, als ob du deinen Aktenkasten bittest, alle seine Geheimnisse preiszugeben!
SHOW FULL COLUMNS FROM table_name;
Verwendung mit unserer students
Tabelle:
SHOW FULL COLUMNS FROM students;
Dies könnte folgendes zurückgeben:
+-----------+--------------+-----------------+------+-----+---------+----------------+---------------------------------+---------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+-----------+--------------+-----------------+------+-----+---------+----------------+---------------------------------+---------+
| id | int | NULL | NO | PRI | NULL | auto_increment | select,insert,update,references | |
| name | varchar(50) | utf8_general_ci | YES | | NULL | | select,insert,update,references | |
| age | int | NULL | YES | | NULL | | select,insert,update,references | |
| grade | varchar(2) | utf8_general_ci | YES | | NULL | | select,insert,update,references | |
+-----------+--------------+-----------------+------+-----+---------+----------------+---------------------------------+---------+
Dies gibt uns sogar mehr Informationen, wie die Collation (wie die Daten sortiert werden) und die Berechtigungen.
Anzeigen von Spalten einer Tabelle mit einem Client-Programm
Nun, lassen Sie uns darüber sprechen, wie du diese Befehle im echten Leben verwenden könntest. Meistens wirst du ein Client-Programm verwenden, um mit deiner MySQL-Datenbank zu interagieren. Dies könnte der MySQL-Befehlszeilenclient, phpMyAdmin oder eine Vielzahl von GUI-Tools sein.
Im MySQL-Befehlszeilenclient kannst du diese Befehle einfach so eingeben, wie wir sie oben geschrieben haben. In einem GUI-Tool könntest du möglicherweise ein "Abfrage"-Fenster haben, in das du diese Befehle eingeben kannst.
Hier ist eine Tabelle, die die verschiedenen SHOW COLUMNS Befehle zusammenfasst, die wir gelernt haben:
Befehl | Beschreibung | Beispiel |
---|---|---|
SHOW COLUMNS | Zeigt grundlegende Informationen über Spalten | SHOW COLUMNS FROM students; |
SHOW COLUMNS LIKE | Filtert Spalten basierend auf einem Muster | SHOW COLUMNS FROM students LIKE 'a%'; |
SHOW COLUMNS WHERE | Filtert Spalten basierend auf einer Bedingung | SHOW COLUMNS FROM students WHERE Type LIKE 'int%'; |
SHOW FULL COLUMNS | Zeigt detaillierte Informationen über Spalten | SHOW FULL COLUMNS FROM students; |
Erinnere dich daran, Übung macht den Meister! Habe keine Angst, diese Befehle an deinen eigenen Tabellen auszuprobieren. Je öfter du sie verwendest, desto wohler wirst du damit werden.
Und das war's! Du bist jetzt mit dem Wissen ausgestattet, um die Struktur deiner MySQL-Tabellen wie ein Profi zu erkunden. Beim nächsten Mal, wenn du dich mit einer geheimnisvollen Datenbank konfrontiert siehst, wirst du genau wissen, wie du hineinsehen und die Schätze, die sie birgt, entdecken kannst. Viel Spaß beim Abfragen!
Credits: Image by storyset