CREATE [ RAW ] TABLE Tabellenname (
{ Feldname
Datentyp
[ (Größe) ]
[ Feldtyp ] [...] }
[,...]
)
[FRAGMENT BY {ROUND ROBIN | HASH Feldliste} ] [IN DB-Space ]
;
CREATE TABLE erzeugt eine neue leere Tabelle in der aktiven Datenbank, deren Struktur hier beschrieben wird.
Datentyp ist hier der Typ der Daten, die in dieser Tabellenspalte eingegeben werden sollen.
Textdatentypen:
Numerische Datentypen (exact numeric):
DECIMAL - Festkommazahlen (die maximale Anzahl der Nachkommastellen und der Stellen vor dem Komma wird fest vorgegehen).
DEC - Abkürzung für DECIMAL
NUMERIC - wie DECIMAL, aber Anzahl der Kommastellen ...
INTEGER - Zahlen ohne Kommastellen (ganze Zahlen), wird ohne Größenangaben verwendet
weil vom DBMS vorgegeben
INT - Abkürzung für INTEGER
SMALLINT - Zahlen ohne Kommastellen (ganze Zahlen), wird ohne Größenangaben verwendet
und belegt evtl. weniger Platz, weil für kleine Zahlen gedacht. Wird vom DBMS fest
vorgegeben.
Numerische Datentypen (approximate numeric):
FLOAT - Zahlen in Exponentialform
REAL - wie FLOAT, aber wird ohne Größenangaben verwendet, weil vom DBMS vorgegeben
DOUBLE PRECISION - wie REAL, aber mit evtl. größeren (doppelten) Genauigkeit
DOUBLE - Abkürzung für DOUBLE PRECISION
Weitere Datentypen, die nich im ANSI-Standart definiert sind:
DATE - Datum, in europäischen Implementierungen meistens im Format dd.mm.yyyy
TIME - Zeit, in europäischen Implementierungen meistens im Format hh-mm-ss
VARCHAR - Textdaten variabler länge, abhängig von der Implementierung
nicht größer als 254 bis 2048 Zeichen.
LONG VARCHAR - Textdaten variabler länge, abhängig von der Implementierung
nicht größer als 16KB Zeichendaten.
Beispiel:
CREATE TABLE torder ( onum INTEGER, anz INTEGER );
Hier wird eine leere Tabelle torder erstellt, die aus Datensätzen mit zwei Feldern
onum und anz besteht.
Syntax:
[Nachkommastellen,] Gesamtgröße
Bemerkungen: Nachkommastellen dürfen nur bei DECIMAL und NUMERIC angegeben werden. Gesamtgröße darf nur bei Datentypen mit variabler Größe angegeben werden. Wenn die Größe bei variablen Feldern nicht angegeben wird, dann gilt die Voreinstellung 1. Ausnahme: bei CHARAKTER muss die Gröse immer angegeben werden (keine Voreinstellungen).
Beispiel:
CREATE TABLE tverkauf ( vnum INTEGER, vname CHAR(30), stadt CHAR(20), prov DECIMAL);
Hier wird eine leere Tabelle tverkauf erstellt, die aus Datensätzen mit vier Feldern besteht: vnum - Zahl, vname - 30 Textzeichen, stadt - 20 Textzeichen und prov - Zahl.
Syntax: Feldtyp [...]
Feldtyp ist hier der Typ der zu generierenden Spalte.
NOT NULL
UNIQUE
CHECK( Bedingung )
DEFAULT = Wert
PRIMARY KEY
Beispiel:
CREATE TABLE tverkauf ( vnum INTEGER NOT NULL UNIQUE PRIMARY KEY, vname CHAR(30) NOT NULL UNIQUE, stadt CHAR(20) DEFAULT='Berlin', prov DECIMAL CHECK(comm < 1) );
Hier wird eine leere Tabelle tverkauf erstellt, deren Datensätze aus vier Feldern
bestehen:
vnum - Zahl, die nicht NULL ist, nicht doppelt vorkommt und als Primärschlüssel dient;
vname - Textfeld aus 30 Zeichen, daß nicht NULL ist und nicht doppelt vorkommt;
stadt - Textfeld aus 20 Zeichen, daß mit 'Berlin' vorbelegt ist;
prov - Zahl, die immer kleiner 1 sein muss.