SQL für Anfänger I

  • Guten Tag zusammen,


    heute möchte ich euch einmal die Sprache SQL etwas näher bringen.
    Zu erst fragt ihr euch sicherlich was SQL bedeutet.


    SQL bedeutet Structured Query Language


    SQL ist eine Datenbanksprache womit ihr Tabellen in eurer Datenbank hinzufügen, entfernen, bearbeiten oder abfragen könnt.


    Fangen wir doch erstmal mit dem erstellen von Tabellen an.


    Um eine Tabelle zu erstellen brauchen wir zu Beginn den Create Befehl:
    Als Beispiel nennen wir die Tabelle Mitarbeiter.


    SQL
    CREATE TABLE Mitarbeiter (


    CREATE TABLE erstellt eine Tabelle


    Mitarbeiter ist der Name der Tabelle


    ein Mitarbeiter besitzt meist folgendes:
    Mitarbeiternummer,
    Name,
    Vorname,
    Geburtsdatum,
    Abteilung


    Das sollte erstmal reichen.
    Nun müssen wir der Datenbank sagen, dass in der Tabelle diese Spalten eingefügt werden sollen.



    SQL
    CREATE TABLE Mitarbeiter (
    Mitarbeiternummer INT NOT NULL AUTO_INCREMENT,
    Name VARCHAR(25),
    Vorname VARCHAR(25),
    Geburtsdatum DATE,
    Abteilung VARCHAR(25)
    );


    So nun was bedeutet das alles:


    Mitarbeiternummern bestehen immer aus Zahlen daher müssten wir dieser Spalte den Datentyp INTEGER zuweisen.
    NOT NULL bedeutet, dass dieses Feld nicht leer seinen darf. NULL bedeutet in der SQL Sprache immer Leer und nicht die Zahl 0
    AUTO_INCREMENT bedeutet, dass dieses Feld immer automatisch um 1 hochzählt.
    Name, Vorname und Abteilung benötigen den Datentyp VARCHAR oder CHAR. In der Klammer steht die Zahl für die maximalen Zeichen, die diese Variable beinhalten darf.


    Was ist der Unterschied zwischen VARCHAR und CHAR?


    An dem Beispiel unserer Tabelle wurden dem Vornamen 25 Zeichen zugewiesen.
    VARCHAR nimmt sich nur den Speicher der benötigt wird. Heißt wenn der Vorname Marco lautet, dann werden auch nur 5 Zeichen dem Speicher zugewiesen.
    CHAR hingegen weißt dem Speicher immer die 25 Zeichen zu. Wenn der Name dann Marco lautet werden den anderen 20 Zeichen 0 zugewiesen.


    Dann haben wir noch das Geburtsdatum.
    Ein Datum wird einer Spalte mit datetime zugewiesen.


    So hiermit hättet ihr jetzt in eurer Datenbank die erste Tabelle erstellt.


    Nun stellt sich die Frage wie wir die Tabelle mit Inhalt befüllen, das machen wir mit dem Befehl INSERT INTO


    SQL
    INSERT INTO Mitarbeiter (Mitarbeiternummer, Name, Vorname, Geburtsdatum, Abteilung)
    VALUES ( '1', 'Müller', 'Peter', '1990-03-08', 'Büromöbel');


    Mit INSERT INTO Mitarbeiter sagt man das man nun der Tabelle Mitarbeiter etwas hinzufügen möchte.
    Dann listet man die Spalten auf die die Tabelle besitzt (muss man nicht machen, aber man besitzt dadurch einen besseren Überblick)
    Mit VALUES werden dann in gleicher Reihenfolge der Spalten die Werte zugewiesen.


    Nun haben wir in der Tabelle einen Eintrag mit dem Herrn Müller.
    Jetzt haben wir beispielsweise bei 10.000 Mitarbeitern etwas den Überblick verloren welche Mitarbeiter alles in der Küchenabteilung arbeiten.


    Erstmal wollen wir uns die Tabelle komplett ansehen:


    SQL
    SELECT * FROM Mitarbeiter;


    Jetzt wird uns die komplette Tabelle angezeigt mit allen Mitarbeitern.
    Mit SELECT sagt man der Tabelle zeige mir ..... FROM (aus welcher Tabelle) Mitarbeiter
    Ein * bedeutet immer es soll alles angezeigt werden.


    Jetzt gibt es noch die Funktion WHERE mit der man sagen kann, es soll wie eben genannt nur die Mitarbeiter angezeigt werden die in der Küchenabteilung arbeiten.
    Uns reicht natürlich der Vorname und Nachname der Mitarbeiter.



    SQL
    SELECT Name, Vorname FROM Mitarbeiter WHERE Abteilung = 'Küchenabteilung';


    Jetzt werden uns die Mitarbeiter mit Vor- und Nachname angezeigt aus der Tabelle Mitarbeiter, die in der Küchenabteilung arbeiten.




    So das sollte für das erste Verständnis reichen und ich hoffe ich konnte euch schon etwas weiterhelfen.
    Bei Fragen stehe ich gerne zu Rat und Tat bereit.
    Weitere Tutorials werden bestimmt folgen.



    Gruß
    Kempl

    Einmal editiert, zuletzt von Kempl () aus folgendem Grund: Zeichenfehler verbessert

  • Nach knapp 3 Jahren habe ich schon fast komplett vergessen, wie MySQL funktioniert. :p
    Habe das Tutorial nur kurz überflogen, werde es mir irgendwann mal in aller Ruhe durchlesen.
    Sah aber eigentlich gut erklärt aus.

  • Ist ganz okay, aber du hättest den Hintergrund erklären können, wieso man überhaupt eine Datenbank verwendet und was den Unterschied zwischen den datenbanken auszeichnet (mssql, mysql, mysqli, nosql, etc. ).
    Solche Tuts findet man hier recht viel. Vorallem die einzelnen Datenypen erwähnen und nicht nur Char und Varchar. Warum man ein Integer und nicht ein long oder double nimmt.
    Sowas hat mir eigentlich gefehlt. Es ist halt immer wichtig, dass jemand das Tutorial versteht, der noch nie etwas damit gemacht hat. Leute die sowas schon drauf haben, brauchen das nicht mehr, deshalb musst du alles kurz und genau auf den Punkt bringen.
    Ein wenig mit Überschriften arbeiten könntest du auch noch.