Ich   Entwicklung   Lösungen Apache PHP mySQL  
 

SQL: CREATE & DROP

Als erstes werden wir eine Datenbank anlegen, in der wir unsere Tests ausführen können. Alle auf dieser und den nächsten Seiten folgenden SQL-Statements können Sie mit dem SQL-Client ausführen, dessen Funktion auf der letzten Seite beschrieben wurde.

Starten Sie den mySQL-Client mit mysql -u BENUTZER -p.

CREATE DATABASE

Die Syntax, um eine neue Datenbank zu erstellen, ist sehr simpel:

CREATE DATABASE versuch;
Zusatzinfo

Zur Unterscheidung: der mySQL-Server ist ein DBMS (Datenbank-Management-System). Eine Datenbank ist nichts als eine Sammlung von Datenbank-Tabellen. Physikalisch sieht das so aus, dass es für jede Datenbank ein Verzeichnis gibt. In diesem Verzeichnis liegen Dateien für die Daten der Tabellen.

Um im folgenden mit der neu erschaffenen Datenbank zu arbeiten, geben Sie an der mysql-Kommandozeile use versuch; ein.

CREATE TABLE

Eine Tabelle zu erschaffen ist deshalb nicht ganz so simpel, weil Sie der Datenbank noch mitteilen müssen, wie viele Spalten diese Tabelle haben soll, welche Spalten besondere Aufgaben haben und welche Datentypen in welcher Spalte gespeichert werden (die sogenannten Domänen). Die Datentypen werde ich später genauer erklären. Betrachten Sie erst einmal meine Beispiele, ohne genau zu wissen, welcher Datentyp welche Eigenschaften hat.

Wir erstellen eine Tabelle mit Namen kontakte. Diese enthält die Spalten id, name, mail und homepage:

CREATE TABLE kontakte (
	id INT NOT NULL AUTO_INCREMENT,
	name TINYTEXT NOT NULL,
	mail TINYTEXT NOT NULL,
	homepage TINYTEXT NOT NULL ,
	PRIMARY KEY (id));

INT bzw. TINYTEXT sind Datentypen. NOT NULL bewirkt einfach gesagt, dass nicht NULL (also nichts) gespeichert werden kann (bei Zeichenketten wird stattdessen eine leere Zeichenkette gespeichert, bei Zahlen eine 0, siehe auch die offizielle mySQL-Dokumentation). AUTO_INCREMENT bewirkt, dass, wenn beim Hinzufügen eines neuen Datensatzes keine id angegeben wird, die nächst höhere freie id benutzt wird.

Mit PRIMARY KEY gibt man einen Primärschlüssel an. Ein Primärschlüssel ist das eindeutig identifizierende Attribut eines Datensatzes.

Die Bedeutung der Kombination von AUTO_INCREMENT und PRIMARY KEY

PRIMARY KEY bewirkt, dass die Werte der Spalte id einzigartig (UNIQUE) sind. Dies verhindert, dass zwei Datensätze mit dem selben Wert für id gespeichert werden. Wenn Sie versuchen, einen Datensatz mit einer schon vorhandenen id anzulegen, werden Sie eine Fehlermeldung erhalten.

Zusammen mit der Anweisung AUTO_INCREMENT ist ein PRIMARY KEY höchst nützlich. Wenn Sie jetzt einen neuen Datensatz ohne Angabe einer id angeben, wird immer der nächst höhere freie Wert automatisch verteilt. Wenn Sie also vier Datensätze mit den ids 1 bis 4 bereits in der Datenbank gespeichert haben und einen neuen Datensatz anlegen, wird dieser automatisch die id 5 erhalten.

Wichtig ist bei einem PRIMARY KEY mit AUTO_INCREMENT, dass jeder Datensatz eine eindeutige id bekommt, und das automatisch, wenn Sie keine angeben.

Die Spalte id muss NOT NULL sein, muss also auf jeden Fall etwas enthalten.

Tabellen und Datenbanken löschen (DROP)

Mit der Anweisung DROP künnen Sie Datenbanken und Tabellen wieder löschen. Wenn Sie die Schritte auf dieser Seite noch einmal üben möchten, dann löschen Sie doch einfach Tabelle und Datenbank noch einmal und führen alle Schritte noch einmal aus.

DROP TABLE kontakte;
DROP DATABASE versuch;

SQL: INSERT & SELECT weiter

URL: www.intermitto.net/mysql/sql/createdrop/
© 2004-05 Jens Becker - intermitto.net v5.1
Letzte Änderung: 23.08.2005

Home - Kontaktformular - Downloads - Suche und Sitemap - Impressum
Entwicklung - Problemlösungen - Tutorials: Apache PHP mySQL

user  pass