SQL

Datenbank für die Beispiele:

Item
key1
key2
name

box
key1
key2 
myname

shelf
key1
key2
name

Grundlagen

Groß-/ Kleinschreibung

SQL unterscheidet nicht zwischen Groß und Kleinschreibung. Die Schreibweise  des Befehls SELECT ist für den Interpreter das Selbe wie select. Gleiches gilt für die Bezeichnung von Tabellen- und Spalten Namen.

Primär- und Fremd- Schlüssel

Schlüssel dienen dazu Tabellenzeilen eindeutig identifizierbar zu machen. Der Primäre Schlüssel bezieht sich dabei auf die Zeile selbst. Der Fremdschlüssel stellt die Verbindung einer Tabellenzeile zum Primärschlüssel einer anderen Tabellenzeile in einer anderen Tabelle her.

Beispiel: Tabelle ‚box‘ und Tabelle ‚item‘. Jedes ‚item‘ wird über seinen Fremdschlüssel eindeutig mit der ‚box‘ in die es gehört verknüpft.

Eindeutige Schlüssel 

Eindeutige Schlüssel lassen sich mit Hilfe des Datentypen identity in eine Tabelle einfügen. Das kann man beim anlegen der Tabelle machen, oder später nachholen. Wenn man die letzte Option wählt erhält man eine Fehlermeldung, wenn die gewählte Schlüssel- Spalte Zeilen  mit doppelten Werten enthält:

alter table item alter key1 identity

Wenn man in die Tabelle nun neue Inhalte einfügt:

insert into item (key2,name) values (2,'Hallo')

Dann wird braucht man für ‚key1‘ keinen Wert übergeben, der wird automatisch generiert und zwar so, dass er in der Tabelle nur einmal vorkommt.

Für denn Fall dass man den Schlüssel wieder löschen möchte:

alter table item drop primary key

 

Tabellen- /Spaltenaliase

Tabellennamen müssen sich unterscheiden. Spaltennamen müssen das nicht. Wenn es in einer Abfrage zu Mehrdeudigeiten wegen der Übereinstimmung von Spaltennamen kommen sollen (z.B. beim Verbinden von zwei Tabellen mit join), dann lässt sich diese Mehrdeutigkeit durch die Verwendung des Punkt- Operators beseitigen. In meiner Beispieldatenbank ist ’name‘ in der Tabelle ’shelf‘ und ‚item‘ vergeben:

select i.name,byname,s.name from item .....

Externe Links

Ein gut gemachtes Tutorial findet sich hier: 1keydata.com (letzter Aufruf: 5.5.2016).

Beispiel- Code
Alle Zellen oder bestimmte Zellen einer Tabelle ausgeben:

Weiterlesen