Unterschied der DDL

adison

Neuer Benutzer
Beiträge
1
Guten Tag zusammen

Kann mir jemand sagen, wieso die Variablen mit Hochkommas (`) deklariert wurde?
Den DDL Code habe ich aus einem Datenbank Unterricht.

Code:
CREATE  TABLE `Gaeste`
(
`idGaeste` INT AUTO_INCREMENT,
`Vorname` VARCHAR(255),
`Nachname` VARCHAR(255),
PRIMARY KEY (`idGaeste`)
);

Die Tabelle wird auch ohne Hochkommas korrekt initialisiert.

Code:
CREATE  TABLE Gaeste
(
idGaeste INT AUTO_INCREMENT,
Vorname VARCHAR(255),
Nachname VARCHAR(255),
PRIMARY KEY (idGaeste)
);

Danke fürs Feedback
 
Werbung:
Tabellen- und Spaltennamen können theoretisch Schlüsselwörter oder Leerschritte enthalten. Außerdem grenzt es Code und Bezeichnung sauber ab, Stil. Immer wenn SQL-Code automatisch generiert wird kommen daher entsprechende Zeichen zum Einsatz, bei MySQL eben die Hochkommas.
 
Ich finde Skripte mit Backticks (das ist kein Hochkomma) extrem schlecht lesbar.
Das ist eine Unsitte von mysql (Entwicklern) diese überall zu verwenden, nicht nur in generiertem Code.

Spaltennamen die Schlüsselwörtern nachempfunden sind gehören ebenso raus wie Leerzeichen.
Insofern unterstützt das m.M. nach eher schlechten Stil, weil ich alles machen kann was mir gefällt.

Davon abgesehen kann man selbst einfaches DDL so nicht mehr 1:1 auf eine andere DB portieren.
 
Grundsätzlich stimme ich dir zu, vor allem Leerschritte sind ekelhaft aber auch die Backticks konnte ich nie leiden (nutze ja kein MySQL, habe also selten wirklich das zweifelhafte Vergnügen).

Allerdings können Schlüsselwörter immer ein Problem sein oder auch mit einer SQL Erweiterung nachträglich zum Problem werden. Ich vergebe gerne Deutsche Spaltennamen, aber willst du in einer englisch-sprachigen DB wirklich auf Spaltennamen wie User, Date, Time etc. verzichten?
 
Ich frag mal anders: Willst du wirklich in jedem Statement alles "Backticken", nur weil jemand nicht Username oder Userid verwendet hat?
In Oracle ist es sogar so, wenn du einen Spaltennamen in " " setzt und ihn nicht komplett groß schreibst - also "UserId" anstelle von "USERID", dann muss der im Statement auch mit der richtigen Groß/- Kleinschreibung verwendet werden.

Ich kenne aber keinen (überlebenden) Entwickler der das je gemacht hat :D
 
Werbung:
Ich bastel eigentlich nur in MSSQL-DBs und da verwende ich für Schlüsselwörter tatsächlich []. Da ich datum und benutzer nehme sind das nicht viele, das stimmt schon.
 
Zurück
Oben