SQL Einführung

  • Hallo,


    herzlich Willkommen zur SQL-Einführung von mir ;) Heute werde ich euch erklären wozu man es verwendet und wozu es gut ist. Ich setzte voraus das Ihr MySQL-Server installiert habt! (apt-get update && apt-get install mysql-server) ...


    Ich fange hier mit SELECT, LIMIT und WHERE an, Tabellenerstellung usw. folge später wenn euch das hier interessiert! Bei Fehlern dürft ihr mich gern verbessern :)

    1. Was ist SQL und wozu dient es?
    2. SELECT


    === Was ist SQL und wozu benutzt man es? ===


    SQL ist Englisch und bedeuted "Structured Query Language", was auf deutsch nicht anderes heisst als "Strukturierte Abfrage Sprache", mit SQL kann man eine vielzahl an DatenbankServern ansprechen!
    Beispiele:


    • MySQL
    • MSSQL
    • Postgres

    Wofür verwendet man SQL?


    Ganz einfach, stellt euch folgendes vor: Ihr habt einen SAMP Server und ein Forum nun könnt ihr sehr leicht Datenaustauschen und organisieren!
    Beispiel ist von unserem Server die Spammerliste, das ganze ist nicht anderes als ein SQL QUery in PHP http://94.249.157.198/iplay/spammer.php :thumbup:


    === Abfragen ===


    Es gibt mehrere arten von Grundabfragen, diese reichen für die meisten fälle aus.


    SELECT UPDATE INSTERT und DELETE


    Nun stellen wir uns folgendes vor, wir haben eine Tabelle in dem Style:
    Strukturausgabe


    Beachtet das latin1_swedish_ci nicht war ein kleiner Fehler den ich noch nicht gefixt hab ;)



    Selectausgabe



    und wollen daraus eine Abfrage erstellen uns sagt welcher Besitzer ein kaputtes Auto hat und wo es kaputt gegangen ist sowie die eindeutige ID davon.


    Unser SQL Abfrage Befehl würde also lauten:


    SQL
    SELECT ID, auto_x, auto_y, auto_z, auto_r, besitzer, kaputt FROM autos WHERE kaputt='1';


    Die Abfrage davon sieht so aus:



    Orange wurde von PHPmyAdmin markiert als "hervorhebung".


    Anstatt beim

    SQL
    SELECT xyz FROM tabelle


    Kann man auch ein Wildcardzeichen benutzen und man spart sich Tipparbeit, was allerdings bei vielen tausen Zeilen Performance ist ...


    WIldcard würde so funktionieren:


    SQL
    SELECT * FROM tabelle


    Tipp: Schreib SQL-Kommandos immer groß und alles andere immer klein, das hilft dir bei der Orientierung wenn deine Abfrage länger wird!


    === Ausgaben limitieren! ===


    Beispiel von oben nehmen wir folgendes Query und wir wollen NUR eine Zeile sehen dann machen wir das folgendermaßen:


    SQL
    SELECT ID, auto_x, auto_y, auto_z, auto_r, besitzer, kaputt FROM autos WHERE kaputt='1' LIMIT 0,1;


    Das bewirkt das nurnoch eine Zeile ausgegeben wird anstatt zwei! Sinnvoll z.B. für Loginsysteme! Wenn e einen User gefunden hat wieso noch 1000 Zeilen durchsuchen? SPart CPU und Zeit.


    WIe funktioniert der LIMIT Befehl?


    Ganz einfach


    LIMIT START,STOPZAHL


    Beispiel wir haben 500 Zeilen aus unserer Ausgabe und wollen immernur 30 Zeilen sehen dann schreiben wir den Befehl so:

    SQL
    SELECT ID, auto_x, auto_y, auto_z, auto_r, besitzer, kaputt FROM autos WHERE kaputt='1' LIMIT 0,30;

    0 - 30

    SQL
    SELECT ID, auto_x, auto_y, auto_z, auto_r, besitzer, kaputt FROM autos WHERE kaputt='1' LIMIT 31,61;

    31 - 61
    usw usw...


    Edit:


    SELECT, WHERE und FROM


    SELECT:
    Der Select Befehl dient zum selektieren der Datensätze in der Datenbank.


    SELECT abc, spaltex, usw


    FROM:
    Definiert die Herkunft der Daten:
    SELECT * FROM tabelle, liefert alle Ergebnisse ungefilter zurück.


    WHERE:


    Unser erster "Filert"


    Mit der Anweisung WHERE definieren wir quasi wie im letzten Beispiel, z.B. das wir nur Datensätze sehen wollen wo die Autos auch wirklich kaputt='1' sind.
    oder auto_x >= 1 usw. Dabei lassen sich Mathematische Operatoren verwenden! Mehr dazu später ....

    Einmal editiert, zuletzt von php ()

  • Zitat


    SELECT ID, auto_x, auto_y, auto_z, auto_r, besitzer, kaputt FROM autos WHERE kaputt='1';

    Für manche ist das immernoch neu. (Nicht für mich ^^)
    Gehe mehr auf die Befehle ein.
    Erläutere diese etwas.


    Wöfür steht WHERE , FROM , SELECT etc.


    Manch ein User stellt sich diese frage.^^



    Aber sonst ganz nett.