Kleines Nachschlagewerk Informatik
Daten speichern (DDL)
Worum geht es
Sind die Tabellen geplant, müssen die Datentypen festgelegt und die Tabelle gefüllt werden.
Datentypen allgemein
SQL-Datenbanken sollen verschiedene Daten speichern. Genau wie bei Programmiersprachen muss man dabei den Datentyp der einzelnen Zelle festlegen. Ungewöhnlich für den Programmierer ist, dass man die Genauigkeiten (Nachkommastellen, Zeichenzahl) festlegen kann.

Da nicht alle Datentypen wichtig sind, erfolgt eine Auswahl.

BezeichnungTypBemerkung
int(n)Ganze Zahln gibt die Stellenzahl an
varchar(n)Textn gibt Anzahl der Zeichen an
enumAufzählungMöglichkeiten müssen bei Erstellung angeben
numeric(n,m)FestkommazahlAngabe der Vor- und Nachkommastellen
float(n)GleitkommazahlAnzahl Nackommastellen, analog double
dateDatumFormat (u.a.) JJJJ-MM-TT
timeZeitFormat (u.a.) HH:MM oder HH:MM:SS
Datentypen in SQLite
SQLite ist typenlos. Man gibt nur Gruppen an.

TEXTalles, was als Text gespeichert wird
INTEGERganze Zahlen
REALKommazahlen
NUMERICnumerisch, aber keine Zahl (z.B. Datum)
BLOBEingabe wird exakt so übernommen


Die Zuweisung der Datentypen erfolgt (Ausnahme BLOB) dann intern. Man kann sich dies wie bei typenlosen Programmiersprachen vorstellen.
ACHTUNG!
Da am FKG SQLite das Werkzeug der Wahl ist, wenn man selbst Datenbanken erstellen will, werden alle Beispiele "typenlos" gegeben!
Erstellen von Tabellen
Wie schon vorher muss man natürlich sagen, wie die Tabelle heißt und für jede Spalte Name und Datentyp angeben. Vereinfacht kann man die Form des Befehls so angeben:

      CREATE TABLE Tabellenname (Spaltenname1 Typ1, Spaltenname2 Typ2, ...)
            
Möchte man eine Tabelle Mitarbeiter mit einer ID als Schlüssel und den Texten Vorname und Nachname erstellen, so lautet der Befehl:

      CREATE TABLE Mitarbeiter (ID INTEGER, Vorname TEXT, Nachname TEXT)
            
Das Resultat kann man sich sofort im Browser ansehen.
Angabe des Primärschlüssels
Jede Relation braucht einen Primärschlüssel. Dies wurde beim Design festgelegt. Oftmals ist der Primärschlüssel aber eine Nummer, die auch noch fortlaufend hochgezählt wird. Hier bietet SQLite Unterstützung:

      CREATE TABLE Mitarbeiter (ID INTEGER PRIMARY KEY, Vorname TEXT, Nachname TEXT)
            
Löschen von Tabellen
Mit

      DROP Mitarbeiter
            
lässt sich die Tabelle Mitarbeiter aus der Datenbank löschen.