====== 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