Weiter Zurück [Inhalt] Online Suche im Handbuch

31.5 Anlegen einer Tabelle

Das Anlegen einer Tabelle ist keine einfache Sache. An diesem Punkt ist aber wahrscheinlich Ihre Datenbank noch leer und unstrukturiert. Das wird folgender Befehl zeigen:


mysql> SHOW TABLES;
Empty set (0.00 sec)

Das Anlegen einer Datenbank muß sehr sorgfältig vorgenommen werden. Prinzipiell sind alle Änderungen nachträglich machbar, jedoch muß man schon etwas Erfahrung mit SQL und speziell auch MySQL haben, um dieses durchführen zu können. Daher sollte man sich alle Optionen des Befehls CREATE im Kapitel CREATE einmal genau anschauen.

Der schwierigere Teil der Aufgabe wird sein, zu bestimmen, welche Struktur die Datenbank haben soll, welche Tabellen benötigt werden, und welche Spalten darin enthalten sein sollen. Dinge, wie die Indexierung können zu einem späteren Zeitpunkt vorgenommen werden. An dieser Stelle sei noch erwähnt, daß Benutzer von ACCESS mit Hife eines Makro´s die Tabellenstruktur von ACCESS nach MySQL konvertieren lassen können. Siehe auch Kapitel Links zu MySQL. Danach kann einfach über Export der Datenbank aus ACCESS und einen Import in MySQL die Daten übertragen werden. Dies kann auch über eine Netzwerkverbindung, also auch über ISDN, erfolgen.

Legen wir nun eine Beispieldatenbank für Tiere an:

Wir möchten eine Tabelle mit je einem Eintrag für jedes Tier. Wir nennen diese einfach "tier". Als Minimun sollte der Name des Tieres enthalten sein. Da der Name selber noch keine interessante Datenbank darstellt, nehmen wir noch den Besitzer, die Spezies, Geschlecht u.s.w. hinzu.

Was ist mit Alter ? Könnte sicher interessant sein, ist aber problematisch, da die Tiere ja älter werden. Das würde bedeuten, daß an jedem Geburtstag des Tieres der Eintrag für Alter um 1 erhöht werden müsste. Besser ist es also, gleich das Geburtsdatum anzulegen, und das Alter MySQL selber errechnen zu lassen. MySQL besitzt Berechnungsfunktionen aller Art, darunter auch eine Funktion für die Berechnung der Tage zwischen zwei Datumsangaben.

Legen wir nun also die Datenbank an:


mysql> CREATE TABLE tier (name VARCHAR(20), besitzer VARCHAR(20),
    -> spezies VARCHAR(20), geschlecht CHAR(1), geboren DATE, gestorben DATE);

Warum haben wir den Typ VARCHAR ausgewählt ? Die Einträge können in ihrer von uns als ausreichend angesehenen Länge eventuell irgendwann einmal doch zu kurz sein. Die Spaltenwerte dürfen bei der Angabe VARCHAR schwanken, und zwar von 1 bis 255. Beim Anlegen der Tabelle trifft man also eine Annahme, welche man später dann mit dem ALTER TABLE Statement korrigiert, siehe Kapitel ALTER.

Das Geschlecht kann einfach mit m und w angegeben werden, es genügt also ein Buchstabe. Wem die Syntax von CREATE noch nicht so klar ist, der findet den Befehl im Kapitel CREATE ausführlich erklärt.

Der Gebrauch des Typs DATE sollte klar sein.

Wir haben nun eine Tabelle angelegt:


mysql> SHOW TABLES;
+---------------------+
| Tables in menagerie |
+---------------------+
| tier                |
+---------------------+
Um zu überprüfen, daß unsere Tabelle auch wie gewünscht angelegt wurde, können wird den Befehl DESCRIBE verwenden:

mysql> DESCRIBE tier;
+------------+-------------+------+-----+---------+-------+
| Field      | Type        | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| name       | varchar(20) | YES  |     | NULL    |       |
| besitzer   | varchar(20) | YES  |     | NULL    |       |
| spezies    | varchar(20) | YES  |     | NULL    |       |
| geschlecht | char(1)     | YES  |     | NULL    |       |
| geboren    | date        | YES  |     | NULL    |       |
| gestorben  | date        | YES  |     | NULL    |       |
+------------+-------------+------+-----+---------+-------+

Sie können DESCRIBE auch dann verwenden, wenn Sie z.B. die Namen oder Typen Ihrer Spalten in einer Tabelle vergessen haben.


Weiter Zurück [Inhalt] Online Suche im Handbuch