09_Inf_SQL-Skript_Opp.doc SQL-Befehlsformate 1.Erstellen einer Tabelle CREATE TABLE `9d_oppelt`.`Buch` ( `BuchNr` INT NOT NULL , `Titel` VARCHAR( 100 ) NOT NULL , `Autor` VARCHAR( 100 ) NOT NULL , `Verlag` VARCHAR( 100 ) NOT NULL , `ISBN` CHAR( 17 ) NOT NULL , `Preis` DECIMAL( 6, 2 ) NOT NULL , `Fachbereich` CHAR( 3 ) NOT NULL , PRIMARY KEY ( `BuchNr` ) * Tabelle erstellen * Feldtyp * Feldtyp + Anzahl Zeichen * Dez.zahl mit 2 Nachkomma-St. * Festlegung des Primärschl. ) ENGINE = MYISAM 2. Einfügen von Datensätzen INSERT INTO `9d_mustermann`.`Buch` ( * Einfügen eines Datensatzes `BuchNr` , `Titel` , `Autor` , `Verlag` , `ISBN` , `Preis` , `Fachbereich` ) VALUES ( * Werte des Datensatzes '3', 'Leichter Lernen', 'Fred Feuerstein', 'Oldenbourg', '788345901264399', '9,90', 'PÄD' ); 3. Löschen von Datensätzen DELETE FROM `Buch` WHERE `Buch`.`BuchNr` = 4 * Datensatz mit entsprechendem Primärschlüssel (4) löschen 09_Inf_SQL-Skript_Opp.doc 4. Suchen von Datensätzen SELECT `Spaltenname` FROM `Datenbankname` WHERE `Bedingung` Beispiel: SELECT `Titel`,`Preis` FROM `Buch` WHERE `Buch.Verlag`=“Klett“ 4.1 DISTINCT Funktion: Aussortieren von doppelten Datenwerten SELECT DISTINCT `Preis` FROM `Buch` 4.2 AND Funktion: Verknüpfung von Bedingungen (gleichzeitig, Schnittmenge) SELECT `Titel`,`Preis` FROM `Buch` WHERE Preis>15 AND Preis<30 4.3 OR Funktion: Verknüpfung von Bedingungen (entweder/oder, Vereinigungsm.) SELECT `Titel`,`Preis` FROM `Buch` WHERE Verlag=“Klett“ OR Verlag=“Diogenes“ 4.4 ORDER BY Funktion: Alphabetisch oder numerisch ordnen Beispiel: Alle Autoren alphabetisch auflisten SELECT DISTINCT `Autor` FROM `Buch` ORDER BY Autor 09_Inf_SQL-Skript_Opp.doc 5. Änderungen 5.1 Datensätze ändern Funktion: Änderung von Teilen der gespeicherten Daten Update `Flugzeug`.`flugdaten` SET `Startzeit` = '08:50:00' WHERE `flugdaten`.`Flugnummer` =6340 5.2 Änderungen an der Tabelle Funktion: Änderungen von z.B. den Eigenschaften einer Spalte ALTER TABLE `flugdaten` CHANGE `Flugnummer` `Flugnummer` INT( 4 ) NOT NULL 6. Weitere Suchoptionen 6.1 BETWEEN … AND Funktion: Abfrage nach Datensätzen mit Wert zwischen… SELECT `Titel`,`Preis` FROM `Buch` WHERE Preis BETWEEN 50 AND 80 6.2 SUM(..) Funktion: berechnet Summe aus der aus der Abfrage resultierenden Datensätze für die angegebene Spalte SELECT SUM(Preis) FROM `Buch` WHERE Autor = ”Müller” 09_Inf_SQL-Skript_Opp.doc 6.2 COUNT(..) Funktion: Anzahl Datensätze berechnen SELECT COUNT(Titel) FROM `Buch` WHERE Autor = ”Müller” 6.3 LIKE Funktion: Abfrage einem Suchmuster entsprechend SELECT `Titel`,`Autor` FROM `Buch` WHERE Autor LIKE ”%aus%” Liefert Datensätze von den Autoren Kraus, Hausmann, Aust… 6.4 IN Funktion: Abfrage nach Datensätzen mit mehreren Kriterien aus möglicher Ergebnismenge SELECT `Flugnummer`,`Preis` FROM `Flugdaten` WHERE Zielflughafen IN 5(“MUC”, “NUE”, “BER”) 6.5 AS Funktion: Ausgabespalte benennen SELECT Flugnummer, Landezeit – Startzeit AS Flugdauer FROM `Flugdaten` SELECT COUNT(Titel) AS Anzahl Werke FROM `Buch` WHERE Autor = ”Müller” 09_Inf_SQL-Skript_Opp.doc 6.6 MAX(..) bzw. MIN(..) Funktion: Maximum bzw. Minimum der Werte in einer Spalte finden SELECT MIN(Preis) FROM `Buch` SELECT MAX(Konstrukteurspunkte) FROM `Formel1-Tabelle` 6.7 AVG(..) bzw. ??? Funktion: Durchschnitt der Werte in einer Tabelle ausgeben SELECT AVG(Preis) AS Durchschnittspreis FROM `Buch` 6.8 GROUP BY(..) Funktion: Datensätze nach bestimmtem System gruppieren SELECT COUNT(Schülername) FROM `Schülerdaten` GROUP BY Klasse HAVING: Zusatzbedingung in der GROUP BY – Zeile geben: SELECT COUNT(Schülername) AS Schüleranzahl FROM `Schülerdaten` GROUP BY Klasse HAVING Schüleranzahl > 4