SQL
Scriptsprache
Structured Query Language (Strukturierte Abfrage-Sprache)
Datenbanksprache zur Definition von Datenstrukturen in relationalen Datenbanken
zum Bearbeiten (Einfügen, Verändern, Löschen) und Abfragen von darauf basierenden Datenbeständen
SQL dient quasi als Mittel zum Zweck, um sämtliche Datenbankoptionen durchzuführen
3 DATENBANKSYSTEME DIE MIT SQL ARBEITEN
MySQL
PostgreSQL
MaxDB
SQL-Anweisungen
DDL(DATA DESCRIPTION LANGUAGE)
Datendefinition
—> Definition des Aufbaus und der Struktur der Datenbank
DML(DATA MANIPULATION LANGUAGE)
Datenmanipulation
—> Abfrage und Veränderung von Daten
DCL(DATA CONTROL LANGUAGE)
Datenkontrolle
—> Berechtigung erteilen und verwalten
Datentypen
INT(Integer)
—> Ganze Zahlen (positiv oder negativ)
Beispiel: 10 —> INT (2)
DEC(Decimal)
—> Festkommazahl(positiv oder negativ) mit insgesamt n Ziffern, davon m Nachkomma stellen
Beispiel: 4859,27 —> DEC (6,2)
CHAR(Character)
—> Zeichenkette mit fester Länge (max.255)
Beispiel: Vierbuchstaben-Abkürzung z.B. MiMa —> CHAR (4)
VARCHAR(n)
—> Zeichenkette mit variabler Länge
Beispiel: Vornamen —> VARCHAR(30) (maximal benötigte Länge an Buchstaben)
DATE
—> Datum
Beispiel: Geburtsdatum 24.06.1992
YEAR
—> Jahr
Beispiel: 1992
TIME
—> Uhrzeit
Beispiel: 10:53
DATETIME
—> Datum und Uhrzeit zusammengefasst
Beispiel: 24.06.1992, 10:53
TIMESTAMP
—> Zeitstempel mit Datum und Uhrzeit; wird für die aktuelle Zeit verwendet
Beispiel: 24.06.2018, 10:54
DDL-Anweisung
Weitere SQL Anweisungen
UNSIGNED —> Nur positive Zahlen
NOT NULL —> Dieses Feld darf nicht leer bleiben
PRIMARY KEY—> Angabe welches Element der Primärschlüssel sein soll
AUTO_INCREMENT—> Automatisch ansteigend
Quelltext einer erstellten MySQL/SQL
Datenbank mit dem Namen „literatursammlung“
CREATE DATABASE literatursammlung;
USE literatursammlung;
CREATE TABLE buecher(
Titel_Nr INT(3) UNSIGNED NOT NULL;
Titel VARCHAR(30) UNSIGNED NOT NULL;
Verlag_Nr INT(3) UNSIGNED NOT NULL;
Abt_Nr INT(3) UNSIGNED NOT NULL;
PRIMARY KEY(Titel_Nr)
);
CREATE TABLE buecher_autoren(
Titel_Nr INT(3) UNSIGNED NOT NULL;
Autor_Nr INT(4) UNSIGNED NOT NULL;
PRIMARY KEY (Titel_Nr, Autor_Nr)
);
CREATE TABLE autoren(
Autor_Nr INT(4) UNSIGNED NOT NULL;
A_Name VARCHAR (30) UNSIGNED NOT NULL;
A_Vorname VARCHAR(30) UNSIGNED NOT NULL;
PRIMARY KEY (Autor_Nr)
);
CREATE TABLE verlage(
Verlag_Nr INT(3) UNSIGNED NOT NULL;
Verlag VARCHAR(30) UNSIGNED NOT NULL;
PRIMARY KEY (Verlag_Nr)
);
SQL-Befehle zur
Abfrage und Veränderung der Daten
SELECT
—> Datensätze aus Datenbank abfragen
Beispiel:
SELECT * FROM buecher;
—> vollständige Tabelle „buecher“ wird aufgelistet, das * steht für alle
SELECT Titel FROM „buecher“;
—> alle Buechertitel aus der Tabelle werden aufgelistet
SELECT * FROM buecher WHERE Titel=“Dateiformate“;
—> liefert alle Datensätze der Tabelle „buecher“ mit dem Titel Dateiformate
SELECT Titel FROM buecher WHERE Verlag_Nr = „103“ AND Abt_Nr= „3“;
—> liefert alle Titel, die im Verlag Springer erschienen sind und in der Abteilung Print stehen
ORDER BY
—>Datensätze sortiert ausgeben;
ASC= aufsteigende Sortierung
DESC= absteigende Sortierung
Beispiel:
SELECT * FROM autoren
ORDER BY A_Name ASC;
—>wählt alle Inhalte aus der Tabelle „autoren“ aus
und sortiert sie alphabetisch aufsteigend nach dem Nachnamen
DELETE
—>Datensätze löschen
Beispiel:
DELETE FROM buecher
WHERE Titel=“HTML Handbuch“
—> löscht alle Datensätze mit dem Titel HTML Handbuch
aus der Tabelle „buecher“
UPDATE
—>Einträge verändern
Beispiel:
UPDATE buecher SET Abt_Nr=“3″
WHERE Titel_Nr=“203″
—>ändert die Abteilungsnummer des Buches
mit der Titel_Nr 203 in der Tabelle „buecher“