php-resource.de

MySQL Tutorial: MySQL für Anfänger einfach erklärt

Dieses Tutorial richtet sich an Anfänger, die noch nie mit SQL gearbeitet haben. Vielleicht ist aber auch für Fortgeschrittene das Eine oder Andere dabei.

|30.09.2008 | Berni | 71743 | KAT : MySQL | | Kommentare 2


17

18

Tipps

Das Tutorial ist nun zu Ende.
Viele Sachen wollte ich eigentlich noch unterbringen. Ich hatte aber nicht gedacht, dass das Erstellen eines Tutorials so viel Arbeit bedeutet. Ein paar nützliche Dinge möchte ich aber trotzdem noch "auf die Schnelle" loswerden. Zu Details bitte gegebenenfalls die MySQL-Doku dazu lesen.

Datentypen
Wir haben nur die wichtigsten Datentypen beim Erstellen von Tabellen verwendet. Ein Blick in die MySQL - Doku zu den verfügbaren Datentypen ist sicher interessant und sinnvoll.

Datenbankdesign
Die Einkaufspreise und Verkaufspreise sind sowohl in der Tabelle artikel als auch in der Tabelle umsatz vorhanden. Warum kann man sie nicht mit JOIN aus der Tabelle artikel lesen? Preise können sich ändern, Umsatzzahlen nachträglich nicht. Man sollte sich vorher genau überlegen, welche Daten man wie ablegt.

Performance:
Bei der Tabellenerstellung sollte für jede Spalte die im JOIN verwendet wird ein key vergeben werden. Das kann auch nachträglich geschehen:
ALTER TABLE umsatz ADD KEY (artikelnummer)

Tabellen einer Datenbank anzeigen:
SHOW TABLES

Zeitraum selektieren mit BETWEEN:
SELECT *
FROM umsatz
WHERE datum BETWEEN "2006-01-01" AND "2006-01-09"

Manchmal kann man Datensätze nicht mit WHERE einschränken.
Das ist immer dann der Fall, wenn nach Aggregatfunktionen gefiltert werden soll. Als Beispiel wollen wir Ladenhüter herausfinden: Alle Artikel, die wir weniger als 3x verkauft haben. Dazu verwendet man HAVING. WHERE filtert vor einer Gruppierung, HAVING danach. HAVING ist deshalb ein wenig langsamer als WHERE.
SELECT
    artikelnummer,
    COUNT(*) as anzahl
FROM umsatz
GROUP BY artikelnummer
HAVING anzahl<3

Den teuersten Artikel finden:
Es wird absteigend nach Preis sortiert und die Ausgabe auf 1 Zeile beschränkt. Dazu verwenden wir LIMIT:
SELECT *
FROM artikel
ORDER BY verkaufspreis DESC
LIMIT 1

5er Rundung für Schweiz (und Finnland):
Preis nach Rappen umrechnen, durch 5 teilen, runden, mal 5 und in Franken umrechnen:
(round((x*100)/5)*5)/100 = round(x*20)/20

SELECT
    verkaufspreis,
    round(verkaufspreis*20)/20
FROM artikel

Anzahl unterschiedlicher Artikel berechnen mit DISTINCT:
SELECT
    MONTH(datum),
    COUNT(DISTINCT(artikelnummer))
FROM umsatz
GROUP BY MONTH(datum)

Benutzer eindeutig identifizieren:
Manchmal ist es notwendig, mehrere Benutzer eindeutig zu unterscheiden. Bei jedem Einloggen bekommt jede Verbindung eine Nummer:
SELECT CONNECTION_ID()

Passwörter speichern
Ein Passwort speichert man nie im Klartext ab. Trotzdem habe ich das schon viel zu oft gesehen. Falls man so etwas sieht, geht man wie folgt vor:
1. Den Code ausdrucken
2. Das Blatt auf ein Brett nageln
3. Dem Programmierer den Mist um die Ohren hauen
Man speichert Passwörter in codierter Form ab, z.B. mit INSERT INTO [..] VALUES MD5('MeinPasswort')
Geprüft wird es dann z.B. mit WHERE Spalte=MD5('MeinPasswort')
Ist nicht 100% sicher, aber zumindest hat nicht jeder Depp gleich alle Passwörter. MySQL macht's bei der Zugangskontrolle übrigens auch so.
 

Navigation -> Seitenanzahl : (18)

 « Anfang ...  «  8 9 10 11 12 13 14 15 16 17 18  » 
Kommentare zum Tutorial
Tutorial kommentieren
 
24.06.2012 10:50:44 Hi, als Anfänger in mysql hat mich dieses Tutorial begeistert und stellenweise schon überf ...
21.01.2010 20:47:24 Ein echt sehr schönes MySQL Tutorials, nur leider fehlen da tiefes eingehen über die Unter ...

Alle Kommentare anzeigen ...
 
Über den Autor
Berni

Berni

Status
Premium Mitglied

Beruf
Selbstständig

Mitglied seit:
22.01.2001

letzte Aktivität
19.09.2018

 

Tutorial bewerten

Hat Ihnen dieses Tutorial gefallen? Dann bewerten Sie es jetzt! Fünf Sterne bedeutet "Sehr gut", ein Stern "Unzureichend".



 

aktuelle Artikel

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Neu | Berni

Wissensbestand in Unternehmen

Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Neu | Berni