Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

MariaDB Grundkurs

SQL-Literale

Testen Sie unsere 2013 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Literale bezeichnen innerhalb von Programmiersprachen Zeichenfolgen, welche zur direkten Darstellung von Zahlen und Zeichenketten eingesetzt werden. In SQL stehen zahlreiche Literale für diverse Einsatzgebiete zur Auswahl.

Transkript

Um den Datenbankserver MariaDB korrekt zu administrieren und auch verwenden zu können, muss man sich natürlich mit der Sprache SQL, der Structured Query Language, ein weinig näher beschäftigen. Und ein ganz wichtiges Sprachkonzept oder eine Sprachstruktur sind die Literale in Programmiersprachen. Und die Literale generell, es ist nichts anderes, als eine Zeichenfolge, die zu einer direkten Darstellung von Werten in Basistypen oder von Basistypen wie Wahrheitswerte, Ganzzahlen, Strings oder Zeichenketten, Gleitkomma-, Fließkommazahlen dargestellt werden. Und da man sehr oft, weil Sie möchten ja Daten in die Datenbank eingeben, auslesen und auch formatiert betrachten, da man da sehr oft mit zu tun hat, empfehlt es sich also auch die Literale sich etwas genauer anzuschauen. Und ein guter Einstiegspunkt ist zum Beispiel der Client in der Eingabeaufforderung oder im Terminal, und ich loge mich da jetzt kurz ein, weil hier können Sie Literale direkt in einem Schwung quasi ausprobieren und verstehen auch den Umgang damit. Starten wir einmal mit den String-Literalen oder Zeichenketten-Literalen. Wenn Sie eine Zeichenkette ausgeben möchten, also zum Beispiel mein Vorname, dann können Sie nicht einfach einen Namen schreiben. Wenn ich den jetzt abschicke, bekomme ich eine Fehlermeldung, denn jetzt geht SQL davon aus, dass Sie eine Spalte, ein Attribute anzeigen lassen möchten. Und damit er weiß, dass es einfach nur eine Zeichenkette ist, muss man das in Anführungstriche packen. So, und da gibt's die Möglichkeit, doppelte Anführungsstriche zu verwenden. Das habe ich jetzt gemacht, und Sie sehen, da gibt's auch direkt eine vernünftige Aussage oder auch zum Beispiel einfache Anführungsstriche. Immer den SQL Befehl mit einem Semikolon abschließen. Also das funktioniert. Was nicht zu empfehlen ist, dass sind Kombinationen davon. Sagen wir mal jetzt, ich gehe mal aufs Englische. Wenn man jetzt so eine Kombination mit einfachen Anführungsstrichelchen nehmen möchte, dann gibt es ja so eine typische englische Schreibweise, "I'm Michael". Ja, und da hätte man dieses einfache Anführungsstrichelchen mit drin. So, wie kann man damit umgehen. Hier mit einfachen Anführungsstrichelchen und diese Kombination, würde es eine Fehlermeldung geben, wenn ich jetzt so weiterschreiben würde, das geht nicht. Sondern hier muss ich quasi durch Einführung eines zweiten Anführungsstrichelchens und zwar einfach ihm mitteilen, dass hier quasi ein Sonderzeichen in der Zeichenkette vorkommt, und dann kann ich meinen Namen schreiben und da muss ich auch hinten wieder mit dem einfachen Anführungsstrichelchen enden. Und wie man sieht, kommt hier der englischen Begriff "I'm Michael". Möchten Sie zum Beispiel in der Datenbank "Zeichenketten" mit Anführungsstrichelchen speichern, dann müssen Sie genau das Gleiche, wenn ich also jetzt hier Satz mit Anführungsstrichen speichern möchte, dann würden die ja so verschwinden, weil jetzt habe ich nur den reinen Textsatz drin. Da kann ich aber hingehen und das Gleiche wie mit den einfachen Anführungsstrichen eben hier doppelte verwenden. Und wie Sie sehen, bekomme ich hier jetzt eine Fehlermeldung, weil da reicht auch der doppelte nicht aus, genauso wie die einfachen zweimal, müssen die doppelten dreimal vergeben werden. Aber dann funktioniert es, und damit haben wir tatsächlich auch die Möglichkeit, in SQL, in MariaDB Texte mit Anführungsstrichen abzuspeichern. Also dreimal Anführungsstriche bringt die Anführungsstriche in dieses Text-Literal hinein. So, und es gibt noch verschiedene andere Möglichkeiten, zum Beispiel gehen wir mal aus Maria, "MariaDB", und dann kommt dieses normale, einfache Anführungsstrichelchen "MariaDB New Features" zum Beispiel. Und das würde wieder eine Fehlermeldung geben, auch wenn ich jetzt hier hinten das normal beende. Und das kann man aber auch einleiten durch ein Backslash. Den Backslash bekommen Sie im Terminal durch die Tastenkombination "Alt+Shift" und dann die "7", dann legen Sie den Backslash um. Wenn ich das jetzt abschicke, dann habe ich auch hier dieses einfache Hochkomma drin, also entweder mit zwei Hochkommazeichen oder alleine. Damit wissen Sie, wie Sie mit Text-Literalen, mit String-Literalen in SQL umgehen können. Schauen wir uns den nächsten an. Das sind die numerischen Literale. Und die sind ja relativ simpel auf der einen Seite, weil wenn Sie jetzt einfach eine Zahl eingeben, zum Beispiel eine 100, dann bekommen Sie auch die 100 ausgegeben. Das ist jetzt kein Hexawert. Genauso kann man auch einen negativen Wert davor setzen, also "-100", auch das merkt er sich. Etwas anders sieht es aus mit Fließkommazahlen. Also das, was wir jetzt betrachtet haben, ist ein ganzzahliger Wert beispielsweise mit dem Datentyp Int. Und der nächste Schritt ist die Kommaarithmetik zu verwenden. Und da fällt vielleicht auf, wenn ich jetzt eine Zahl "15,5" ausgeben möchte, und ich würde das so im Deutschen schreiben, dann bekomme ich keine Kommazahl, sondern ich bekomme zwei Spalten, weil der Kommawert im Select-Befehl trennt Spalten. Und somit habe ich eine Zahl "15" und eine Zahl "5" und die als Kommawert als Fließkommaarithmetik zu betrachten, müssen Sie die englische Schreibweise verwenden mit einem Punkt. Und in dem Moment funktioniert auch die Speicherung dieses Wertes. Möchten Sie beispielsweise 0,1 ausgeben, brauchen Sie nicht unbedingt die 0 vorweg schreiben. Da können Sie auch einfach nur einen Punkt einschreiben und Sie sehen, dann setzt er die 0 davor. Die sind ebenfalls auch in der Lage Vorzeichen abzubilden, und das würde dann zum Beispiel so aussehen, also all das ist machbar. Bisschen zu einer weiteren Eingabe und zwar zum Beispiel die Schreibweise "0" nehmen wir mal ".2E5", und Expotenzialschreibweise, wo wir jetzt die 20000 mit ausgeben. Und auch das kann man zum Beispiel etwas verkürzen, indem man einfach "2e5" schreibt, auch das "e" in kleinen Buchstaben, ist kein Thema, und Sie sehen, dann kommt das gleiche Ergebnis bei raus. Nehmen wir noch einfach einen, dass Sie sehen, wie damit gerechnet wird, wenn wir jetzt einen negativen Wert zum Beispiel haben, nehmen wir mal "1,1e-5". Jetzt habe ich den Minuswert vergessen an der Stelle. Machen wir mal was anders, nehmen wir mal "1,1", dann "-10", machen es mal so. Dann erhalte ich eben diesen Wert an der Stelle ausgegeben und das Ganze mit einem Vorzeichen davor auch negativ. Da sehen Sie, wie man mit den nummerischen Literalen arbeiten kann. Ja, schauen wir uns immer noch im nummerischen Bereich zwei weitere ganz wichtige an, und zwar die Rede ist von Binär- und Hexadezimal. Und das wichtige bei diesen beiden Angaben ist, dass Sie gerade im hexadezimalen Bereich sehr viel mit der Webentwicklung zu tun haben werden. Und da ist es auch gut zu wissen, dass man hier in MariaDB auch direkt hexadezimale Werte speichern kann. Unter hexadezimalen Werten handelt es sich auch einfach um einen Zahlenwert, der nur mit einer anderen Zahlenbasis arbeitet. Haben wir das Dezimalsystem zu Zahlenbasis "10" arbeitet das hexadezimale System mit der Zahlenbasis "16". So, und um das darzustellen, geben Sie beispielsweise ein "SELECT" und dann ein "x", nehmen wir mal die "61" oder ein großes "X", auch das funktioniert, ich trenne das jetzt mal mit Komma oder ein "0x" und dann die "61". Und wir bekommen jetzt eine Ausgabe, die uns jeweils das kleine "a" auf dem Bildschirm schreibt. Den Hexadezimal "61" ist in der Zeichendarstellung der Buchstabe "A". So, möchten Sie eine Zahl ausgeben, dann müssen Sie davor eine "0" schreiben und gefolgt von einem "+" also "0", ohne "SELECT" geht nichts, so "0+", und dann haben wir hier "0xf", könnten wir zum Beispiel eingeben, und wir bekommen dann mit dieser Ausgabe die "15". Der Wert "f" ist der Zahlenwert. Also "0x" ist die Einleitung der hexadezimalen Schreibweise. Und da wir eine Basis haben mit dem Wert "16", gehen alle Zeichen von 0 bis 9 wie aus dem decimalen System. Und dann haben wir aber noch Buchstaben A, B, C, D, E, F für die Zahlen, die da nachkommen. Und damit haben wir eben das "f" von "0" angefangen bis zum höchsten Wert "f" mit "15" belegt, von "0" bis "15" sind 16 Stellen. Also so wäre zum Beispiel jetzt die Ausgabe von "0xa", an der Stelle das "i", beziehungsweise wenn ich da die "0", das habe ich jetzt vergessen, also "0xa". So, das ist der Wert "10", von "0" bis "9" decimal, alles wie gehabt, und dann kommt der nächste höhe Wert, das "a", und das ist die "10". Ja, und diese Schreibweise ist nicht unwichtig, und die gibt es auch noch mal ganz genauso im Binären Bereich, nur dass der Binäre Bereich eine andere Einleitung hat, und die sieht so aus, dass wir "0b" schrieben. Und jetzt kommt eine große binär dargestellte Zahl, nehmen wir mal "1", 1", 2, 3, 4, 5 und noch mal eine "1". Und das ist jetzt die Ausgabe des großen Buchstabens "A". Möchten Sie die Ausgabe als Zahl haben, also das müsste dann die "65" sein, dann müssen Sie einfach hier hinter auch wieder einen numerischen Wert addieren. Also da ich das nicht verändern möchte, setze ich die "0" dahinter, und wie Sie sehen, macht er nun aus dem binären Wert, der eingeleitet wird mit "0b", nun einen Dezimalwert "65". Und so handhaben Sie binäre Werte. Ja, dann haben wir noch einen Wert oder noch ein Literal. Das sind die sogenannten Wahrheitswerte oder boolesche Literale, und da arbeitet MariaDB mit der Bezeichnung "TRUE", der Bezeichnung "FALSE". Und dabei ist es egal, ob die groß oder klein geschrieben sind. Und was steckt da wirklich hinter? Der Wert "TRUE" liefert decimal "1", der Wert "FALSE" den Dezimalwert "0". Und Sie sollten nicht auf die Idee kommen, beides zum kombinieren. Also verwenden Sie durch auch, wenn Sie zum Beispiel eine Abfrage starten, ob zum Beispiel ein Wert zum Beispiel größer ist als ein anderer. Das Ergebnis, was Sie dann bekommen, ist der Wert "1", aber verglichen werden sollte der mit diesen booleschen Literalen, denn die stecken dahinter. Man kann sich nicht immer darauf verlassen, dass auch wirklich "TRUE" "1" und "FALSE" "0" ist. Es gibt durchaus Sprachstrukturen in anderen Programmiersprachen oder Datenbanken. Da ist zum Beispiel nur der "TRUE"-Wert definiert. Ja, und ein letztes ist zwar kein direktes Literal mehr, aber sehr schönes Beispiel einer Sprachstruktur. Es sind die User-defined Variables, die es auch in SQL gibt, und Variablen, die man während der Laufzeit quasi verwenden kann. Eine solche Variable, die setzen Sie ein oder erstellen Sie mit dem Befehl "SET". Um jetzt aber mal zu schauen, ob eine Variable überhaupt schon existiert oder ob diese einen Wert besitzt, kann man das natürlich auch überprüfen. Zwar ich möchte jetzt eine Variable testen, ob da bereits ein Wert drin sich befindet. Und das geschieht mit Angabe der Variablenname. So, ich nehme mal hier jetzt einfach "variable", so. Gibt es diese Variable, und ist da was drin enthalten, dann kann ich zum Beispiel fragen, ist "IS NULL". Und "NULL" ist ein besonderer Wert, nämlich der meint nichts, also keine leere Zeichenkette oder nicht den Wert "0", sondern einfach nichts. Und hier bekomme ich jetzt eine "1" zurück. Und Sie sehen, das ist der Vergleich, und wenn Sie in die Tabelle dadrüber schauen, dann haben wir dort das boolesche Literal "1", und das steht für "TRUE". Also das heißt, dieser Wert, oder besser gesagt die Variable selber, die ist noch nicht benutzt, oder es steht zumindestens nichts in dieser Variable drin. Ja, und Sie sehen, wie Sie Variablen auch ansprechen, nämlich mit einem @-Zeichen. Da können Sie beliebig viele mit "SET" definieren, zum Beispiel geben wir einfach mal, "x" soll "10" sein. Ich vollziehe diesen Befehl mit einem Komma weiter. Dann nehmen wir mal die Variable "y", die soll "5" sein, und eine Variable "Name", und da nehme ich jetzt mal eine Zeichenkettenliteral, so, und das ist zum Beispiel mein Vorname. Das soll mal ausreichen. Wir sehen, da passiert jetzt gar nichts. Es werden einfach diese Variablen geschrieben. Nur das schöne ist, wenn ich jetzt eine Ausgabe haben möchte, dann kann ich zum Beispiel meinen Namen ausgeben, also "SELECT Name", und jetzt ist hier diese Ausgabe mit der Spaltenüberschrift nicht besonders schön. Da gibt es einen kleinen Trick, wenn Sie da mal hinschreiben "AS Nachname", dann wird das als Spaltenüberschrift definiert. Und genauso kann ich auch zum Beispiel berechnen, dass also "x*" mal, dann nehmen wir noch mal "y", einen bestimmten Wert hat, und das soll das Ergebnis sein. So, und das geben wir aus und wie wir sehen, haben wir durch die beiden Variableninhalte das Ergebnis "50" und mein Vorname, da sehen Sie eben entsprechend, wie Sie Spaltenbezeichner mit "AS" und dann den Spaltenbezeichner angeben können und vor allen Dingen wie Sie mit benutzerdefinierten Variablen arbeiten. Und damit habe ich Ihnen, glaube ich, ganz wichtige Strukturen schon einmal gezeigt, Zeichenketten und numerische Werte behandeln zu können, sowie für die Laufzeit und für die Bearbeitung, auch eigene Variablen in MariaDB dem Datenbankserver anzulegen.

MariaDB Grundkurs

Sehen Sie, wie Sie den populären Datenbankserver einrichten und für erste eigene Projekte nutzen.

4 Std. 41 min (44 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Software:
MariaDB MariaDB 10.1
Exklusiv für Abo-Kunden
Erscheinungsdatum:29.03.2016
Aktualisiert am:08.05.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!