MySQL-Tabellen (zumindest jene im MyISAM-Format) haben die Eigenheit, dass diese als Datei auf Betriebssystemebene erstellt und verwaltet werden. Damit später keine Namenskonflikte auf anderen Betriebssystemen (z.B. unter Windows) entstehen, empfiehlt es sich, die Tabellen mit Kleinbuchstaben zu verwalten.
Wir könnten nun die Konsole verlassen und die Tabellendateien 'Seiten' mit 'mv ...' umbenennen. Das ist aber unschön, stehen zum Ändern von Tabellen doch mächtige Befehle zur Verfügung. Wir verwenden dazu 'alter table ...'. Nachfolgend benennen wir die Tabelle 'Seiten' in 'seiten' um:
mysql> alter table Seiten rename seiten; Query OK, 0 rows affected (0.00 sec)
Normalerweise sollten wir beim Erstellen von Tabellen darauf achten, dass wir bei zentralen Feldern einen Index anlegen. Da wir dies beim Erstellen der Tabelle nicht gemacht haben, holen wir das jetzt nach:
mysql> alter table akten add index TitelI (Titel); Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0
Ebenso möchten wir dem Feld 'Titel' mehr Platz einräumen, d.h. anstelle der bisherigen 30 Zeichen, soll das Feld maximal bis zu 100 Zeichen (möglich wären max. 255) aufnehmen.
mysql> alter table akten change Titel Titel varchar(100); Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0
Wir können jederzeit ein Feld vergrössern, ohne dass dies einen Datenverlust zur Folge hat. Das Verkleinern von Feldern ist weitaus kritischer, da wir dabei unter Umständen Feldwerte zerstören. Damit wir auch bei 'alter table' Übung erhalten, geben wir nacheinander die folgenden SQL-Befehle ein:
mysql> alter table akten add index DatumI (Datum); Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table seiten add primary key (AkteID,Seite); Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0
Nun können wir den Aufbau der Tabelle mit 'describe seiten' begutachten:
mysql> describe seiten; +--------+------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+------------+------+-----+---------+-------+ | AkteID | int(11) | | PRI | 0 | | | Seite | int(11) | | PRI | 0 | | | Text | mediumtext | YES | | NULL | | | Bild | mediumblob | YES | | NULL | | +--------+------------+------+-----+---------+-------+ 4 rows in set (0.00 sec)