Tolles aus der MySQL-Trickkiste

Teil 4: MySQL und phpMyAdmin

Zeichensätze

Eine zentrale Frage bei Datenbanken ist die Wahl des Zeichensatzes. Im Web kommen im deutschsprachigen Raum hauptsächlich zwei Zeichensätze zum Einsatz: ISO-8859-1 und UTF-8. Sie kennen beide vermutlich aus dem entsprechenden -Tag in der HTML-Seite. ISO-8859-1 (auch Latin1 genannt) besteht aus 256 Zeichen (8 Bit). Die ersten 128 sind die sogenannten ASCII-Zeichen. Darin sind aber keine Sonderzeichen wie deutsche Umlaute enthalten. Deswegen gibt es die 8859-Zeichensatz- Familie, die für die verschiedenen europäischen Sprachen unterschiedliche Kombinationen für die zweite Hälfte der 256 Zeichen bietet. 8859-1 enthält dementsprechend die deutschen Umlaute.

Special MySQL und phpMyAdmin: MySQL

© Archiv

Dump-Erstellung über die Konsole unter Linux.

Der andere Ansatz ist der Unicode-basierte Zeichensatz UTF-8. Unicode ist eine Bestrebung, alle Zeichen aller Sprachen dieser Welt in einem Zeichensatz zu speichern. Theoretisch haben hier rund 16,78 Millionen Zeichen Platz. Diese Unicode-Zeichen können in verschiedenen Kodierungen gespeichert werden. Im Web eingesetzt wird UTF-8. UTF-8 ist sicherlich heute der zu bevorzugende Ansatz, da damit alle Sprachen unterstützt werden können, ohne den Zeichensatz zu wechseln.

MySQL unterstützt beide Zeichensätze (mehr dazu hier: http://dev.mysql.com/doc/refman/5.0/en/char set.html). Dabei wird für die Datenbank der Zeichensatz und die Kollation benutzt. Die Kollation ist die Sortierregel für den Zeichensatz - das heißt etwa, wie Zeichen miteinander verglichen werden. Jeder Zeichensatz besitzt eine oder mehrere zugehörige Kollationen. Latin1 besitzt die Kollationen für verschiedene Sprachen, so unter anderem latin1_general_ci und latin1_german1_ci. Der Standard ist bei vielen Installationen beispielsweise die Kollation latin1_swedish_ci.

Der Standard kann jeweils im Register Variablen abgelesen werden. Im Register Zeichensätze sehen Sie alle verfügbaren. Für jede Datenbank, jede Tabelle und jedes Feld haben Sie die Möglichkeit, einen eigenen Zeichensatz zu wählen. Dies funktioniert über SQL:

oder auch über phpMyAdmin. Dort ist das Register Operationen zuständig. Aber Vorsicht, wenn Sie eine Umschaltung vornehmen, gehen unter Umständen Zeichen verloren. Bei Zeichensatzproblemen sollten Sie grundlegend überprüfen, ob Verbindung, Kollation und Speicherung zeichensatztechnisch übereinstimmen.

ALTER TABLE news DEFAULT CHARACTER 
SET latin1 COLLATE latin1_german1_ci

Erstellen einer Tabelle

Über phpMyAdmin erhalten Sie den Code zum Erstellen einer Tabelle, wenn Sie sie exportieren. Noch schneller klappt das über die Konsole. Verwenden Sie einfach folgende Zeile:

Sie erhalten dann direkt eine Ausgabe mit dem SQL-Code, der zum Erstellen der Tabelle mit den entsprechenden Einstellungen notwendig wäre. Übrigens, dies funktioniert nur, wenn MySQL nicht mit einer der Optionen --safe-show-database oder -- skip-show-database gestartet wurde.

SHOW CREATE TABLE Tabellenname;

Strings komprimiert speichern

Blobs dienen in MySQL dazu, Bilder und andere binäre Daten zu speichern. Mit der MySQL-Funktion COMPRESS() können Sie allerdings auch Strings in BLOB-Feldern abspeichern. Komprimiert werden sie intern mit der zlib-Komprimierung. Ein entsprechendes Statement kann so aussehen:

Beim Auslesen muss entsprechend UNCOMPRESS() verwendet werden:

UPDATE internetmagazin.artikel SET
binaer = COMPRESS('Neuer Inhalt') 
WHERE artikel.id =3 LIMIT 1 ;

Dies ist ein Ansatz, um gerade bei längeren Texten Speicherplatz zu sparen. Ob das Performance-Gewinne bringt, hängt hauptsächlich davon ab, wie stark der Inhalt auf die Kompression anspricht. Eine interessante Erörterung zum Thema finden Sie unter www.mysqlperformanceblog.com/2008/01/11/mysql-blob-compression-performance- benefits/.

SELECT UNCOMPRESS(binaer) FROM
 internetmagazin.artikel

Viele der hier gezeigten Tipps und Tricks sind einfach zu handhaben, aber man stolpert in der praktischen Arbeit selten darüber. Dementsprechend spannend ist es, sich ab und an mit der Datenbank, die hinter Ihren Anwendungen steckt, zu beschäftigen.

Skins für phpMyAdmin

Sollten Sie Ihren Kunden etwas Besonderes bieten wollen, können Sie phpMyAdmin optisch anpassen. phpMyAdmin besitzt als Basis ein Template. Es besteht aus zwei PHP-Dateien. info.inc.php enthält den Theme-Namen und die Version. layout.inc.php besteht aus einigen Konfigurationsvariablen mit Farben und Ähnlichem. Die HTML-Ausgabe selbst ist in den phpMyAdmin-Dateien hartkodiert. Weitere optische Anpassungen sind allerdings über die CSS-Dateien im Unterverzeichnis css möglich und in img finden Sie die entsprechenden Icons. Viele bestehende Themes finden Sie unter www.phpmyadmin.net/home_page downloads.php?themes.

Mehr zum Thema

festplatte, hardware, pc, hdd
Gelöschte Dateien wiederherstellen

Wir zeigen Ihnen, wie Sie verloren geglaubte Daten retten können - etwa mit dem kostenlosen Tool Recuva.
Whatsapp Alternativen
Für Android, iPhone, iPad & Co.

Es gibt keine Whatsapp-Alternative? Quatsch! Diese 10 Messenger-Apps für Android, iOS und Windows Phone sind der perfekte Ersatz.
Windows Energieeinstellungen optimieren
Die besten Tipps

Die Energieeinstellungen in Windows lassen sich flexibel anpassen. Wir zeigen Ihnen, wie Sie Ihren eigenen Energiesparplan optimieren.
Any Video Recorder
Anleitung

Wir zeigen in dieser Anleitung, wie einfach Sie mit dem Tool Any Video Recorder jeden beliebigen Stream aufnehmen können
Outlook - Logo
Office-Tipp

Wir zeigen, wie Sie in Outlook die Kalenderwoche anzeigen lassen können. Unser Office-Tipps sorgt für Durchblick bei der Terminplanung.