0251 / 590 837 15

MySQL – Tutorials, Tipps und Tricks

MySQL ist ein Datenbank-Management-System, das als Open Source Software bezogen werden kann, plattformunabhängig und universell einsetzbar ist. Gleichzeitig kann es sich in seiner Leitungsfähigkeit mit jedem anderen Datenbanksystem messen. Da ist es kein Wunder, dass es sich in den letzten Jahren unglaublich schnell verbreitet hat.

Was ist mySQL?

mySQL ist ein Datenbank-Management-System, das besonders gut für die Nutzung im Internet geeignet ist. MySQL wird seit 1996 im Internet und in vielen tausend Unternehmen genutzt. Es ist vergleichsweise schnell und zuverlässig. Die Daten können mit dem internen SQL-Befehlssatz verwaltet werden. Keine andere Datenbank hat sich in den letzten Jahren so schnell verbreitet wie MySQL . Es ist Multi-User- und Multi-Tasking-fähig, bewältigt auch große Datenmengen schnell und läuft vergleichsweise stabil. Es kann auf großen Netzwerke n, aber auch auf einem einzelnen PC betrieben werden. MySQL besteht - wie andere Datenbanksysteme auch - aus Datenbanken, die Tabellen und Hilfsdaten enthalten. Daneben gibt es Werkzeuge zum Bearbeiten der Daten. Dazu gehören der MySQL-Monitor und phpMyAdmin. MySQL verfügt außerdem über einen Befehlssatz, der dem der Standard-Datenbank-Abfragesprache SQL sehr ähnlich ist. MySQL kann zudem als Open-Source-Distribution aus dem Internet bezogen und entsprechend genutzt werden.

Was kann mySQL?

mySQL kann Daten in Tabellen verwalten, anzeigen, speichern, ändern. Das kann es sehr gut, aber sonst kann es nichts. Dagegen sind andere Aufgaben, wie z.B. die grafische Anzeige und Aufbereitung der Daten nicht mit mySQL lösbar, dazu gibt es andere Software, die man gut mit MySQL verknüpfen kann, sehr gut geeignet ist z.B. PHP .

Wie setzt man mySQL ein?

Es gibt verschiedene Möglichkeiten, die Befehle auszuführen: Kommandozeilen-orientiert im MySQL-Monitor, als Script (durch Start einer *.sql-Datei) oder mit Hilfe der grafischen Benutzeroberfläche php MySQL Admin (dazu unten mehr). Effektiver ist es allerdings, die Befehle in höhere Programmiersprachen einzubetten. Prädestiniert dafür ist PHP , mit dem man dynamische WebSites erzeugen kann. PHP enthält eine Reihe von speziellen Funktionen für MySQL-Datenbanken. Eine andere Möglichkeit ist, Microsoft-Access-Anwendungen mit mySQL-Tabellen zu verknüpfen. Dann steht der volle Funktionsumfang von Access zur Verfügung. Dieses Verfahren ist für Anwender geeignet, die mit MS Access gut vertraut sind, aber die höhere Geschwindigkeit von mySQL nutzen wollen.
Die Installationssoftware für mySQL steht zum Download bereit, z.B. unter http://www.mysql.com/downloads/.

Wie funktioniert mySQL?

MySQL funktioniert als Client-Server-System. Dabei ist die jeweilige Datenbank der Server. Die Software auf der Client-Seite (z.B. der MySQL-Monitor oder eine PHP-Anwendung) stellen die Verbindung zum Server her. Sie schicken Aufträge an die Datenbank in Form von Befehlen, deren Syntax weitgehend identisch mit ANSI-SQL ist. ANSI-SQL ist die Standard-Version von SQL. SQL (Structured Query Language) ist ein Befehlssatz zum Bearbeiten von Daten in relationalen Datenbanken. Die Datenbank übersetzt die Befehle intern in ausführbaren Code und führt diesen dann - sofern es möglich ist - aus. Dann sendet sie die generierten Informationen an den Client zurück. Diese Informationen können die Datenauszüge aus einer Tabelle sein oder die Meldung, dass ein Befehl ausgeführt wurde oder auch eine Fehlermeldung, wenn der Befehl nicht ausgeführt werden konnte. SQL bezieht sich immer auf Tabellen. SQL-Befehle können Zeilen in Tabellen anzeigen, ändern, hinzufügen oder löschen. Daneben kann SQL auch die Struktur der Tabellen ändern, Beziehungen und Indizes anlegen oder löschen und Benutzer verwalten. Das war auch schon alles, was SQL kann.
Der Client nimmt die Datenbank nur als eine Sammlung von Tabellen wahr. Physisch werden MySQL-Datenbanken aber als eine Sammlung von binär verschlüsselten Dateien gespeichert, die nur mit Hilfe von MySQL-Werkzeugen sinnvoll bearbeitet werden können. So ist auch die nötige Sicherheit gewährleistet. In einer MySQL-Umgebung können beliebig viele separate Datenbanken gespeichert sein. Zudem hat MySQL praktisch alle Features eines modernen Datenbank-Management-Systems, wozu z.B. Multiuser- und Multithread-Fähigkeit, ein flexibles aber leicht verwaltbares Berechtigungskonzept auf Host-, DB-, User- Tabellen- und sogar Spalten-Ebene, Indizes, Primary und Foreign Keys, Passwordschutz und - bei geeigneter Konfiguration - hohe Performance auch bei großen Datenmengen gehören.

Syntax

Die Kommunikation mit der MySQL-Datenbank erfolgt über SQL-Befehle. Die folgenden Kapitel beschreiben, welche Befehle es gibt (zumindest die wichtigsten), nach welchen Regeln sie funktionieren und was sie bewirken.

Daten bearbeiten

Im Folgenden werden die Befehle beschrieben, mit denen man Daten in MySQL auswählen, anzeigen, ändern, hinzufügen oder löschen kann: SELECT, UPDATE, INSERT, REPLACE, DELETE. Jeder dieser Befehle hat mehr oder weniger viele Varianten. Alle zu beschreiben, ist in diesem Rahmen nicht möglich. Wir beschränken uns deshalb auf die wichtigsten.

Daten verwalten

Damit die Daten in den Tabellen bearbeitet werden können, müssen sie in der passenden Struktur vorliegen. Die muss manchmal auch geändert werden. Dieses Kapitel beschreibt, welche Befehle MySQL dafür anbietet.

Funktionen

MySQL verfügt über eine Reihe von Standardfunktionen, die im Lieferumfang enthalten sind. Das Ergebnis der Funktion wird wie der Inhalt eines Feldes aufgelistet. Der Wert ist jeweils das Ergebnis der Berechnung über die Datensätze, die zu dieser Gruppe gehören.

Indizes

Ein häufiger Grund für langsame Ladezeiten sind Datenbankabfragen. Geht eine Website gerade an den Start sind die Datenbanken in der Regel noch nicht so stark befüllt. Nach und nach kommen neue Einträge in die Datenbank und die Datenbankabfragen werden langsamer. Schließlich müssen jetzt bei SELECTs auch mehr Datensätze durchsucht werden.

Datenbankmodelierung

MySQL ist ein Datenbank-Management-System (DBMS). Man kann es sich – ebenso wie andere DBMS – als eine Sammlung von Tabellen vorstellen, die untereinander in Beziehungen stehen. Dazu kommen dann noch Werkzeuge und Hilfsdaten, die wir später beschreiben. Tabellen sind den meisten Computerbenutzern von Excel bekannt. Tabellen haben Spalten und Zeilen – in MySQL und jeder anderen relationalen Datenbank sind die Tabellen logisch genauso aufgebaut. Eine Tabellenzeile nennt man hier auch Datensatz (weil dort mehrere Daten zu einem Satz Daten zusammengefasst sind), engl. record. Die Spalten heißen Felder, und sie haben Namen, nicht nur A, B, C… wie in Excel, sondern sprechende Namen wie KundenNr oder RechDatum.

Werkzeuge für MySQL

Um irgend etwas mit einer MySQL-Datenbank machen zu können, braucht man Werkzeuge. Die bekanntesten sind der MySQL-Monitor und phpMyAdmin. Der MySQL-Monitor ist eine einfache Konsole für den Eingabe-Dialog von SQL-Befehlen. phpMyAdmin ist eine komfortable Oberfläche zur umfangreichen Verwaltung, setzt aber PHP voraus.

MySQL Optimierung

Bei großen Datenmengen kann eine MySQL-Abfrage schon seine Zeit brauchen. Außerdem kann zum Beispiel der Speicherbedarf einer Datenbank steigern.

Administration von MySQL-Datenbanken

In MySQL kann der Administrator Berechtigungen für User auf ganz verschiedenen Ebenen vergeben. Dazu kann er Befehle eingeben, aber auch die entsprechenden Systemtabellen direkt pflegen.

Sicherheitskopien, Wiederherstellung, Export und Import

Jedes seriöse Datenbanksystem bietet Möglichkeiten, Sicherheitskopien zu erzeugen und Daten aus einer Sicherheitskopie “zurückzuholen” in die Datenbank, falls durch einen Systemabsturz oder fehlerhaftes Löschen bzw. Ändern Daten unabsichtlich verlorengegangen sind. Die gleichen Verfahren, die für Sicherheitskopien geeignet sind, kann man auch zum Datenaustausch mit anderen Programmen / Datenformaten verwenden.
MySQL bietet folgende Varianten: Dumpfiles, CSV-Dateien und Kopien per ODBC in andere Formate (z.B. Microsoft Access).

Neuerungen mit MySQL 6

Mittlerweile gibt es die ersten Testversionen des MySQL-Servers in der Version 6 zum Download. Es ist, wie man es von MySQL AB kennt, üblich, in einer neuen Hauptversion üblich, eine große Anzahl von Fehlern mit unterschiedlicher Priorität zu beseitigen und neue Features hinzuzufügen. In diesem Zusammenhang ist die neue Storage Engine Falcon von Bedeutung. Ein großer Nachteil ist während der Entwicklung, dass die Dokumentation oft überarbeitet wird und in wenigen Sprachen zur Verfügung steht.

Weitere Themen