====== 2.7) SQL - Structured Query Language====== SQL (**Structured Query Language**) hat sich als Standardabfragesprache für relationale Datenbanken etabliert. SQL stellt die Schnittstelle zwischen der relationalen Datenbank und dem Anwendungsprogramm dar. Es lassen sich damit alle Operationen der Relationenalgebra aus Kapitel 4 realisieren. Die Sprachelement von SQL lassen sich in mehrere Kategorien unterteilen, die allerdings im Standard nicht festgeschrieben sind. ==== Allgemeines ==== === Öffnen der MySQL-Konsole === * Xampp starten mit MySQL * cmd * in C:\xampp\mysql\bin wechseln * mysql -u root === MySQL Befehlsreferenz === *{{ :inf:inf8bi_201920:2:mysql-befehlsreferenz.pdf |}} === Anzeigen von Datenbanken === SHOW DATABASES; === Erstellen von Datenbanken === CREATE DATABASE DBName; === Selektieren von Datenbanken === USE DBName; === Anzeigen von Tabellen in einer Datenbank === SHOW TABLES; === Anzeigen von Spalten in einer Tabelle === SHOW COLUMNS from tabellenname; === Löschen von Datenbanken === DROP DATABASE DBName; === Struktur einer Tabelle ausgeben === DESCRIBE tabellenname; gibt die Struktur einer Tabelle (Spalten, Datentypen, NULL-Einschränkungen). === Definition einer Tabelle anzeigen === SHOW CREATE TABLE tabellenname; zeigt die komplette Definition einer Tabelle, inklusive aller Constraints (Primary Key, Foreign Key, etc.). === Details über Indizes und Schlüssel === SHOW INDEX FROM tabellenname; oder SHOW KEYS FROM tabellenname; zeigt Details über Indizes und Schlüssel. === Backup und Restore von Datenbanken === * Backup C:\xampp\mysql\bin>mysqldump -u root db8ai > db8ai.sql oder alle Datenbanken: C:\xampp\mysql\bin>mysqldump -u root –all-databases > sicherung.sql * Restore mysql> create database db8ai; mysql> exit; C:\xampp\mysql\bin>mysql -u root db8ai < db8ai.sql bzw. alle Datenbanken: C:\xampp\mysql\bin>mysql -u root -p < sicherung.sql oder: mysql> create database db8ai; mysql> use db8ai; mysql> source C:\xampp\mysql\bin\db8ai.sql ==== 2.7.1) DDL (Data Definition Language) ==== * Anweisungen zur Anlage und Verwaltung von Datenbankschemata * Anweisungen zur Definition von Relationen einschließlich der Konsistenzbedingungen * Anweisungen zur Anlage von Datensichten (Views) * [[.:2_07:2_07_01| 2.7.1) DDL ]] * [[.:2_07:2_07_01:2_07_01_01| 2.7.1.1) DDL - Übungen]] ==== 2.7.2) DQL (Data Query Language) ==== * Abfrage von Daten * [[.:2_07:2_07_02| 2.7.2) Data Query Language]] * [[.:2_07:2_07_02:2_07_02_01| 2.7.2.1) DQL- Übungen]] ==== 2.7.3) DML (Data Manipulation Language) ==== * Eingabe von Daten in eine vorhandene Tabelle * Änderung von Daten in einer Tabelle * Löschung von Daten in einer Tabelle * [[.:2_07:2_07_03| 2.7.3) DML]] * [[.:2_07:2_07_03:2_07_03_01| 2.7.3.1) DML - Übungen]] ==== 2.7.4) DCL (Data Control Language) ==== * Anlegen von Benutzern * Vergabe von Zugriffsrechten