phpMyAdmin


MySQL

Im Zusammenhang mit PHP wird häufig mit MySQL Datenbanken gearbeitet

MySQL ist eine Open-Source Datenbank mit der größten Verbreitung. Es ist ein SQL-basierter Datenbankserver der in XAMPP, WAMP, MAMP bereits enthalten ist.

SQL

SQL ist die am meisten verbreite Datenbanksprache der Welt. Mit SQL Anweisungen kann man:

Mittles PHP kann man eine Verbindung zu einer MySQL Datenbank herstellen. In PHP kann man mit SQL Befehlen Datenbanken erstellen und verwalten.

phpMyAdmin

phpMyAdmin / Php-Einfach

phpMyAmin ist ein Programm, welches standardmäßig auf fast allen Servern mit mySQL Datenbanken zur Verfügung steht. phpMyAdmin bietet eine komfortable Lösung mit einer visuellen Benutzeroberfläche, um Datenbanken zu verwalten, exportieren, importieren etc.

phpMyAdmin starten

phpMyAdmin läuft über das Browserfenster ab.
Über das Controlpanel von Wamp oder die Startseite von XAMPP kann man phpMyAdmin starten.
http://localhost
http://localhost/phpMyAdmin/index.php
Der Anmeldename des lokalen Webservers ist in der Regel root und das Passwort bleibt leer.

MariaDB

Im Installationspaket von XAMPP ist MariaDB enthalten, das ist eine Abspaltung von MySQL. In den Basics ist der Unterschied unerheblich. phpMyAdmin ist für MariaDB nicht geeignet.

Was ist eine Datenbank

Eine Datenbank dient zur Speicherung großer Datenmengen. Mit einer Datenbank kann man diese Daten übersichtlich anlegen, verwalten und ändern.

In einer Datenbank befinden sich verschiedene Tabellen. In diesen Tabellen befinden sich Felder . Damit kann man beisielsweise Felder für Name, Vorname, Personalnummer, Gehalt, Geburtsdatum, etc. erstellen.

Jedes Feld hat nebem dem sogenannten Feldnamen auch noch andere Eigenschaften wie beispielsweise die Eigenschaft Datentyp: String, Number, Date, oder die Eigenschaft Primärschlüssel: ja.

Diese Felder bilden dann mehrere Datensätze, in diesem Beispiel wird jede Person mit ihren Daten in einem Datensatz gespeichert. Die Datensätze bestehen aus den Feldern, mit den Feldnamen name, vorname, personalnummer, gehalt, geburtstag

 

Datenbank Tabelle
Beispiel Datenbank Tabelle

Anlegen einer Datenbank

Das Anlegen einer Datenbank erfolgt in 3 Schritten.

Datenbank anlegen

Öffne phpMyAdmin. Im Menü von WAMP oder über die Starseite von XAMPP lässt sich phpMyAdmin starten.

Auf der linken Seite sieht man alle gespeicherten Datenbanken mit ihren Tabellen.

Auf der rechten Seite sieht man die Struktur einer ausgwählten Datenbank.

Oben sieht man das Bedienungsmenü.

Klicke auf der linken Seite auf HOME Symbol und wähle dann den Zeichensatz utf8mb4_german2_ci aus, damit die Datenbankfelder mit Strings die Umlaute und das ß richtig darstellen.

phpMyAdmin
phpMyAdmin

Planung Datenbank & Tabelle

Es soll eine neue Datenbank namens firma angelegt werden. In dieser soll eine Tabelle namens personen angelegt werden mit folgenden Feldern: name, vorname, personalnumer, gehalt, geburtstag..

Schritt 1 Anlegen der Datenbank

Zunächst wird eine neue Datenbank angelegt. Auf einem Server kann man oft keine eigenen Datenbanken anlegen, sondern es steht eine gewisse Anzahl von Datenbanken zur Verfügung. In dieser kann man dann Tabellen anlegen.

Auf dem heimischen Server legen wir eine Datenbank an, indem wir oben rechts das HOME Symbol auswählen und dann auf den Karteireiter Datenbanken klicken.

Unter neue Datenbanken gebe den Namen der Datenbank firma ein und wähle unter Kollation UTF8mb4_german2_ci.

Die Namen der Datenbanken sollten keine Sonderzeichen, Leerzeichen oder Umlaute oder ß enthalten.

Nach jedem Befehl in phpMyAdmin erscheint unten ein Button SQL Vorschau. Durch klicken erscheint der SQL Befehl, den man für die Programmierung mit PHP verwenden kann.

Nach dem Anlegen wählen Sie aktualisieren. Oben links, rechtes Symbol grüner Kreispfeil

Datenbank umbenennen

Will man eine Datenbank umbenennen, gibt es 2 Möglichkeiten:

Wähle oben im Menü von phpMYAdmin Operationen. Gebe bei Datenbank umbenennen in eine neuen Namen ein und bestätige mit "ok";

Alternative Möglichkeit: man muss XAMPP beenden und anschließend den Ordnernamen der Datenbank löschen. Der Ordner befindet sich unter
C:\xampp\mysql\data Die Unterverzeichnisse entsprechen den Datenbanken. In Wamp ist der Pfad etwas verschlungener, aber man kann ja im Dateisystem suchen. das Prinzip ist das gleiche, der Ordnername entspricht der Datenbank.
C:/wamp64/bin/mysql/mysql5.7.36/data

Datenbank löschen

Es gibt mindestens 3 Möglichkeiten eine Datenbank auf dem lokalen Webserver zu löschen

Planung Tabelle

Es soll eine neue Datenbank namens firma angelegt werden. In dieser soll eine Tabelle namens personen angelegt werden mit folgenden Feldern.

Feldname Datentyp Erklärung
name VARCHAR(30) Zeichenkette bis 30 Zeichen
vorname VARCHAR(25) Zeichenkette bis 25 Zeichen
personlanummer INT(4) Ganzzahl (die Zahl schränkt nicht die Länge ein, sondern ermöglicht eine Darstellung mit vorangestellten Nullen oder anderen Zeichen.) siehe hier
gehalt DOUBLE Fließkommazahl
geburtstag DATE Datum

Schritt 2 Anlegen der Tabelle

Klicken Sie auf den Namen der neu erzeugten Datenbank links.
Da noch keine Tabelle in der Datenbank exisitert wird auf der rechten Seite angzeigt: ERZEUGE TABELLE

Geben Sie Namen und Anzahl der Spalten an. In diesem Fall personen und 5.

Nachdem man auf Speichern geklickt hat erscheint eine Ansicht, wo man die weitere Daten eintragen kann.

Unten erscheint der Button SQL Vorschau Damit der SQL Befehl eine Tabelle anzulegen angezeigt.

Tabellen Daten eintragen
Tabelle anlegen

Nun trägt man die einzelnen Daten ein, wie sie oben in der Grafik aufgeführt sind.

Der Wert Null bedeutet, dass es möglich ist, in dem Feld keinen Eintrag zu machen, es darf leer bleiben.

Primärschlüssel

Ein Primärschlüssel hat einen eindeutigen Index, beispielsweise eine Durchnummerierung. Es könnte aber auch eine Email Adresse sein. Wichtig ist, dass dieser Index nicht in einem anderen Datensatz vorkommt. Somit werden einzelnen Datensätze eindeutig identifizierbar.

Das Feld personalnummer soll als Primärschlüssel dienen.
Wähle unter Index PRIMARY

Man kann den Primärschlüssel auch im Nachhinein festlegen. Wähle die Tabelle personen rechts aus, wähle oben den Karteireiter Struktur. In der erstellten Tabelle sieht man rechts die Option mehr. Wähle dort Primärschlüssel.

Struktur Ansicht
Primärschlüssel

Lösche einen versehentlich gesetzten Primärschlüssel durch klicken auf löschen etwas weiter unten unter Indizies. Er hat dort den Schlüsselnamen PRiMARY

Mit den Buttons kann man Felder löschen. Man kann sie umbenennen oder auch ein neues Feld hinuzufügen. Dort gibt man an, vor oder hinter welchem Feld das neue Feld angelegt werden soll.

Autoincrement

siehe auch

Autoincrement bedeutet, dass ein Wert sich automatisch erhöht, was bei einem numerischen Primärschlüssel-Feld sehr hilfreich ist, denn so kann man nicht versehentlich einen Wert 2 mal vergeben.
Aktiviere die Option A_I

Um nachträglich ein Feld auf Autoincrement zu setzen, klicke auf Struktur wähle das Feld aus, deren Wert automatisch erhöht werden soll, hier personalnummer. Klicke auf Bearbeiten. Es öffnet sich ein Fenster. Aktiviere die Option A_I. Achte darauf, dass bei Standard Kein(e) eingetragen ist. Unter Extras erscheint nun AUTO_INCREMENT

Autoincrement Autoincrement

Autoincrement auf einen Wert setzen

Um einen Autoincrement auf einen Wert zurück zu setzen
verwende in PHPmyAdmin / SQL:
ALTER TABLE 'tarot' AUTO_INCREMENT = 4;

Tabellennamen ändern

Wähle die Tabelle und klicke oben auf den Karteireiter Operationen. Nun hat nan die Möglichkeit einen anderen Namen einzugeben.

Die Tabelle lässt sich unter Operationen auch in eine andere Datenbank kopieren.

Schritt 3 Eintragen der Datensätze

Wählen sie die Tabelle rechts aus und Wählen Sie oben die Registerkarte Einfügen.

Nun hat man die Möglichkeit die Datensätze einzutragen. Folgendes ist zu beachten:

Nach der Eingabe klicken sie auf den Button OK. Auf der Registerkarten Anzeigen lassen sich die Daten anzeigen. In der Ansicht kann man einen Datensatz Über Bearbeiten ändern.

Es wird eine SQL Anweisung angezeigt. Siehe auch Regeln SQL Anweisung

Tabelle optimieren, löschen, reparieren

Wähle links eine Datenbank aus. Es erscheint die Datenbank Struktur Ansicht. Aktiviere eine der angezeigten Tabellen und wähle aus dem Auswahl-Menü unten wo markierte erscheint den Befehl optimiere Tabelle. Löscht man einen Datensatz so bleibt er im Hintergrund noch erhalten, wenn man eine Tabelle optimiert werden alle gelöschten Datensätze endgültig gelöscht.

Man findet in dem Auswahl-Menü noch viele andere Befehle wie: Tabelle löschen, Analysiere Tabelle, Repariere Tabelle uvm.

Inhalt der Tabelle löschen

Den Inhalt einer Tabelle löscht man über Operationen / Tabelle leeren

Tabelle exportieren / importieren

Tabellen kann man über Exportieren, irgendwo abspeichern. Über importieren, kann man sie dann in jede beliebige Datenbank einfügen.

Datensatzauswahl

siehe auch SQL PHP einfach

Mit der SQL-Anweisung select kann man eine Datenbankabfrage erzeugen. Damit werden die Datensätze angezeigt. Wählt man eine Tabelle aus und klickt auf den Karteireiter Anzeigen, erscheint oben auch der SQL Befehl die Select Anweisung: SELECT * FROM `personen`
Außerdem sieht man die Anzahl der gefunden Datensätze. Wurde kein Datensatz gefunden erscheint keine Select Anweisung, sondern nur der Hinweis auf 0 Treffer.

Klickt man auf den Karteireiter Suche hat man weitere Möglichkeiten zu Filtern. Nach klick auf OK wird der SQL-Befehl angezeigt.

Klicke auch auf Optionen.

Man kann sich nur bestimmte Felder anzeigen lassen. Man kann Bedingungen definieren, wie Gehalt größer als 300. Man kann die Reihenfolge nach einem bestimmten Feld definieren, numerisch, alphabetisch absteigend, aufsteigend.

Suche
Suche Select

Vergleichsoperatoren & Logische Operatoren

Bei der Auswahl durch WHERE können Vergleichsopertoren verwendet werden, wie man sie von Boolschen Werten und if-Bedingungen kennt.

Man kann auch mehrere Bedingungen verknüpfen mit folgenden Schlüsselworten:

Operator Erklärung
not Der Boolsche Wert wird umgekehrt
and Alle Bedingungen müssen zutreffen
or Mindestens eine der Bedingungen muss zutreffen

Beispiel:
select * from personen where gehalt > 2000 and gehalt < 3000

Vergleichsoperator like

Der Verleichsoperator like wird für Strings eingesetzt. Der Suchbegriff wird in Anführungszeichen gesetzt. Groß und Kleinschreibung wird nicht unterschieden.

Hierbei können auch Platzhalter (Wildcards) eingesetzt werden. Sie werden innerhalb der Anführungstriche notiert.

"a%" Alles was mit "a" oder "A" beginnt.
"a_d%" Das erste Zeichen ist "a" oder "A" dann folgt ein beliebiges Zeichen, gefolgt von einem "d" oder "D". Es können weitere Zeichen folgen.
"%ol%" Alles in dem "ol" vorkommt. Es kann auch am Anfang oder Ende stehen.

Update

Wähle eine Tabelle aus und wähle in einem bestimmten Datensatz den Button Bearbeiten.
Im sich öffnenden Fenster kann man nun Änderungen vornehmen. Ein Klick auf SQL Vorschau zeigt den SQL-Befehl an:
UPDATE personen SET vorname = 'Sonja', name = 'Giese' WHERE personalnummer = 6
Hier wurde aus der Tabelle personen im Feld vorname der Wert auf "Sonja" geändert und unter name der Wert "Giese" geändert.

Würde der Zusatz WHERE fehlen, hätten alle Felder vorname den Wert "Sonja" und alle name Felder den Wert "Giese";

Klicke auf den Karteireiter SQL und wähle unten den Button Update. Es erscheint eine Update Anweisung in der Anzeige. Diese kann man ändern. Durch klicken auf Abfrage simulieren bekommt man die Anzahl der gefundenen Datensätze angezeigt. Ein Klick auf OK führt die Anweisung aus.

UPDATE personen SET gehalt = 10000 WHERE gehalt > 10000

Hier werden alle Gehälter, die höher als 10000 sind auf 10000 gesetzt.

Wenn man einen numerischen Wert mathematisch verändern möchte, kann man auch Rechenopertoren verwenden. z.B.:
gehalt = gehalt * 0.98 Eine Gehaltskürzung von 2 Prozent. Hier die gesamte Zeile:
UPDATE personen SET gehalt = gehalt * 0.98 WHERE gehalt = 10000

Delete

Delete löscht Datensätze. Auch hier kann man einzelne Datensätze mit Klicken auf den Löschen Link löschen und bekommt die SQL Anweisung angezeigt.
DELETE FROM personen WHERE personalnummer = 18;
Erst dann muss man sich endgültig entscheiden durch klicken auf OK.

Alternativ kann man auf SQL klicken und dann unten auf Löschen, um den angezeigten SQL Befehl zu ändern.
DELETE FROM `personen` WHERE personalnummer > 17
Alle Datensätze deren personalnummer größer als 17 ist werden gelöscht.

Export einer Tabelle

Ein Webprojekt erstellt man in der Regel auf dem heimischen Rechner und kopiert zur Veröffentlichung alles per FTP auf den Rechner des Providers (Strato, etc.). Auch die Tabellen der Datenbanken sollten lokal und auf dem Provider Rechner vorliegen. Hierzu muss man die Tabellen exportieren und importieren. siehe auch Datenbank Import Export

phpMyAdmin bietet die Möglichkeiten über den Karteireiter Exportieren.

Nach Klick auf OK wird die Tabelle ins Download Verzeichnis exportiert. Man kann sie mit einem Texteditor öffnen.

Die SQL Anweisungen, die man dort findet, kann man dazu nutzen, die Tabelle programmatisch in eine andere Datenbank zu importieren.

Einfacher ist es jedoch eine Datenbank beim Provider mit phpMyAdmin aufzurufen und dort über den Import Karteireiter die Tabelle zu importieren.

Export Import einer Datenbank

Wähle eine Datenbank aus und wähle Exportieren. Bestätige mit Okay. Die Datenbank wird ins Download Verzeichnis unter dem Namen der Datenbank und mit der Endung sql gespeichert.

Um die Datenbank irgendwo zu importieren erzeuge eine neue Datenbank und vergebe den gleichen Namen. Wähle dann Importieren und füge die Datei ein.

Export Import einer Datenbank zum Provider / Strato

Man kann eine komplette Datenbank vom heimischen Rechner mittels phpMyAdmin exportieren. Sie liegt nach dem Export als Datei mit Endung .sql im Download Verzeichnis.

Bei Strato gibt es nur fertige Datenbanken, man kann keine eigenen Datenbanken erstellen sondern nur Tabellen. Man kann jedoch alle Tabellen einer Datenbank in die Strato Datenbank in einem Arbeitsvorgang importieren, indem man die Tabelle bei Strato auswählt und dann die gespeicherte Datenbank über "Importieren" importiert. Dann werden alle Tabellen in die Strato-Datenbank eingefügt.

Datum und Timestamp

Man kann in einem Feld Zeitwerte abspeichern. Näheres dazu unter Datum / Datenbank