ʫ

Sie haben den Artikel erfolgreich in den Warenkorb gelegt.
Was möchten Sie als nächstes tun?

Weiter einkaufen Zur Kasse

Mit MySQL Aliase für Spalten und Tabellen vergeben

Bei der Programmierung mit MySQL Datenbanken müssen Sie gelegentlich mit Datenbankdaten arbeiten, die ganz undeutliche oder nicht brauchbare Spalten- und Tabellennamen aufweisen. Manchmal ist es auch so, dass Sie die Spaltenbezeichnungen direkt ausgeben möchten und keiner fängt was mit Überschriften auf Fremdsprachen, zu lange Spaltennamen oder ähnliches an. Dies können Sie in Ihrer MySQL Abfrage definieren und bestimmen.

Lösung - Aliasnamen für Spalten und Tabellen im MySQL definieren

Angenommen Sie haben eine Tabelle tbl_pr mit 3 Spalten - ID, p_id, sp_value. Es handelt sich aber hierbei um eine ProduktID und einen Spezial Preis. Wir können nun die letzten beiden Spalten mit Aliasnamen so selektieren:

SELECT p_id AS ProduktID, sp_value AS SpezialPreis FROM tbl_pr

Damit erhalten Sie 2 Spalten, die übersichtliche und verständliche Überschriften (Aliase) haben. Denken Sie immer an die Schreibweise, denn die Spalten- oder Tabellennamen entsprechende Leerzeichen, Umlaute oder reservierte MySQL Wörter enthalten können. Hierzu müssen Sie Spalten und Tabellennamen mit den speziellen Apostrophen umfassen (Zeichen `):

SELECT `p_id` AS ProduktID, `sp_value` AS SpezialPreis FROM `tbl_pr` as ProduktTabelle

Hier sind alle Spalten und Tabellen richtig definieren und können (fast) beliebige Zeichen enthalten. Dazu haben wir auch einen Aliasnamen der Tabelle vergeben - achtung, nun können Sie die Tabelle nur über diesen Aliasnamen referenzieren.

Aliasnamen für MySQL Tabellen bei Cross-joins und Subqueries

Es weiteres Problem, vor dem Sie stehen könnten, ist die mehrfache Nutzung von Tabellennamen in Ihren MySQL Abfragen, zwecks Referezierung von Feldern in Unterabfragen oder JOIN Statements. Dann ist aber auf jeden Fall besser, wenn Sie ganze kurze Aliasnamen der Tabellen vergeben, damit Sie die Abfrage übersichtlicher halten. Beispiel:

SELECT `ID`, (SELECT Name FROM Produkten as p WHERE p.ID=lf.ProduktID) as ProduktName FROM `Lieferzeiten` as lf

Oben haben wir eine Subquery ausgeführt, in dem wir die Tabelle Lieferzeiten, die mit dem Aliasnamen lf erreichbar ist, mit der Tabelle Produkten abfragen, um einen Produktnamen für eine ProduktID zu erhalten. Die Unterabfrage ist schön kurz, denn wir referenzieren die Spalten für den JOIN mit den Aliasnamen. Wenn Sie sich vorstellen, dass Ihre Abfrage mehrere solche JOINs und Unterabfragen hat, ist es wichtig mit Aliasnamen zu arbeiten.

Viel Erfolg!

û