Tabellen erstellen

Zunächst müssen Sie eine Datenbank auswählen, in welcher Sie die Tabelle(n) erstellen wollen (siehe dazu hier).

1. Tabelle erstellen

Tabellen werden mit "create table" erstellt gefolgt vom Tabellennamen. Anschließen werden in Klammern die Tabellenspalten (Datenfelder) aufgelistet.

Eine Tabellenspalte hat einen Namen gefolgt vom Datentyp.

Beispiel: Es soll eine Adressverwaltung entwickelt werden.

Die Tabelle soll "Adresse" heißen. Für eine Adresse sollen der Vor- und Nachname, die Straße, die Postleitzahl und der Ort gespeichert werden.

Vorüberlegungen:

Der Vor- und Nachname, der Ort und die Straße sind Textketten. Ein passender Datentyp dazu ist varchar. Die Zeichenketten sollen auf max. 50 Zeichen beschränkt werden. Die Postleitzahl besteht aus Ziffern und hat max. 5 Stellen. Daher wird der Datentyp Decimal mit 5 Stellen verwendet: dec(5).

create table adresse(

  name varchar(50),

  vorname varchar(50),

  strasse varchar(50),

  postleitzahl dec(5),

  ort varchar(50)

);

Anschließend wird ein Testdatensatz in die Tabelle eingegeben:

insert into adresse values ('Mustermann', 'Max', 'Teststr. 24', 12345, 'Testhausen');

Anmerkung:

Die Datensätze müssen der Tabellenstruktur (hier Text, Text, Text, Zahl, Text) entsprechen. Textketten werden in Anführungsstriche (oder einfaches Hochkomma) gesetzt.

Jetzt sollen alle Testdaten aus der Tabelle angezweigt werden. Die geschiet mit:

select * from adresse;

2. Unbekannte Daten

Sind einzelne Felder eines Datensatzes unbekannt (z.B. die Straße) können diese beim Einfügen von Datensätzen mit dem Schlüsselwort NULL als "leer" offen gelassen werden:

insert into adresse values ('Musterfrau', 'Elfriede', NULL, 22222, 'Testcity');

Will man dies NICHT, kann man dies bei Tabellenerstellung mit dem Schlüsselwort NOT NULL verhindern:

create table adresse(

  name varchar(50) not null,

  vorname varchar(50) not null,

  strasse varchar(50) not null,

  postleitzahl dec(5),

  ort varchar(50)

);

Hinweis: Wenn die Tabelle "adressse" bereits existiert, können Sie keine weitere Tabelle mit selben Namen erstellen. Vorher muss die "alte" gelöst werden (drop table adresse;).

In obigem Beispiel müssen nun der Name, Vorname und die Straße zwingend vergeben werden. 

Die Anweisung

insert into adresse values ('Mustermuster', NULL, NULL, 22222, 'Testcity');

würde z.B. eine Fehlermeldung erzeugen.

3. Primärschlüssel und autoincrement

Die Tabelle Adresse hat noch keinen Primärschlüssel. Daher soll die Tabelle um einen eindeutiges Feld mit Namen "id" vom Typ Integer (Ganzzahl) ergänzt werden. Damit das Datenbankmanagementsystem die Eindeutigkeit auch tatsächlich überprüft, wird der Primärschlüssel gekennzeichnet:

create table adresse(

  id int primary key, 

  name varchar(50) not null,

  vorname varchar(50) not null,

  strasse varchar(50) not null,

  postleitzahl dec(5),

  ort varchar(50)

);

oder

create table adresse(

  id int, 

  name varchar(50) not null,

  vorname varchar(50) not null,

  strasse varchar(50) not null,

  postleitzahl dec(5),

  ort varchar(50),

  primary key(id)

);

Will man den Wert für den Primäarschlüssel nicht "von Hand" in die Tabelle einfügen, sondern soll dieser generiert werden, kann man das mit auto_increment erreichen (der Wert wird dann jeweils um eins erhöht):

create table adresse(

  id int auto_increment, 

  name varchar(50) not null,

  vorname varchar(50) not null,

  strasse varchar(50) not null,

  postleitzahl dec(5),

  ort varchar(50),

  primary key(id)

);

Weitere Datentypen:

Eine Übersicht mit weiteren Feldtypen finden Sie hier.