CREATE TABLE (SQL): Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
(kleinen Fehler behoben)
 
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 16: Zeile 16:
 
* DEFAULT <value> Angabe eines default Wertes für die Spalte, dieser wird eingesetzt sollte kein Wert eingefügt worden sein
 
* DEFAULT <value> Angabe eines default Wertes für die Spalte, dieser wird eingesetzt sollte kein Wert eingefügt worden sein
 
* PRIMARY KEY Angabe ob die Spalte ein [[Primary Key (SQL) | Primary Key]] ist
 
* PRIMARY KEY Angabe ob die Spalte ein [[Primary Key (SQL) | Primary Key]] ist
* REFERENCE &lt;table&gt; (<column>) Angabe der Tabelle (&lt;table&gt;) sowie der Spalte (<column>) auf den diese Spalte verweist, diese wird auch als [[Foreign Key (SQL) | Fremdschlüssel]] bezeichnet.
+
* REFERENCES &lt;table&gt; (<column>) Angabe der Tabelle (&lt;table&gt;) sowie der Spalte (<column>) auf den diese Spalte verweist, diese wird auch als [[Foreign Key (SQL) | Fremdschlüssel]] bezeichnet.
  
  
Zeile 25: Zeile 25:
  
 
===Beispiel===
 
===Beispiel===
<code=sql>
+
<syntaxhighlight lang="sql">
 
CREATE TABLE testtabelle ( id INTEGER NOT NULL,
 
CREATE TABLE testtabelle ( id INTEGER NOT NULL,
 
                           name VARCHAR(200) DEFAULT 'kein Name',
 
                           name VARCHAR(200) DEFAULT 'kein Name',
 
                           PRIMARY KEY (id));
 
                           PRIMARY KEY (id));
</code=sql>
+
</syntaxhighlight>
  
  

Aktuelle Version vom 2. April 2018, 14:40 Uhr

Mit dem Befehl CREATE TABLE wird eine Tabelle erzeugt, soll eine Tabelle geändert werden wird ALTER TABLE verwendet. Die Planung und Erzeugung ist einer der Hauptaufgaben des Datenbankdesigns, hierbei werden Tabellen oft normalisiert.

Für die Erzeugung einer Tabelle gibt es eine standardtisierte Anweisung aber jede Datenbank hat eigene Erweiterungen.

CREATE TABLE <name> (
   <column>[,...]
   <constraint>[,...]);

Der Name darf wie immer nur aus Zahlen und Buchstaben von a-z sowie aus dem _ bestehen.

Die Definition einer Spalte (column) besteht aus dem Namen, dem Typ sowie Attributen für diese:

<columnname> <type> [[NOT]NULL] [DEFAULT <value>] [PRIMARY KEY] [REFERENCES <table> (<column>)]

Der Name der Spalte sowie der Typ sind pflicht Vorgaben, die anderen Angaben sind alle optional.

  • columnname Name für die Spalte, dieser Unterliegt den gleichen Einschänkungen wie der Name der Tabelle
  • type Datentyp für die Spalte
  • NOT NULL/NULL Angabe ob die Spalte den Wert NULL enthalten darf oder nicht, wird er nicht angegeben wird NULL genommen
  • DEFAULT <value> Angabe eines default Wertes für die Spalte, dieser wird eingesetzt sollte kein Wert eingefügt worden sein
  • PRIMARY KEY Angabe ob die Spalte ein Primary Key ist
  • REFERENCES <table> (<column>) Angabe der Tabelle (<table>) sowie der Spalte (<column>) auf den diese Spalte verweist, diese wird auch als Fremdschlüssel bezeichnet.


Die Constraints können verschiedene Eigenschaften eingrenzen oder sicherstellen.

Beispiel

CREATE TABLE testtabelle ( id INTEGER NOT NULL,
                          name VARCHAR(200) DEFAULT 'kein Name',
                          PRIMARY KEY (id));


Weiteführende Artikel