MySQL ist ein Datenbankverwaltungssystem (engl. database management system) für Datenbanken.
In diesem Artikel wird der Aufbau und die Struktur von MySQL, phpMyAdmin, sowie SQL erklärt. Neben dem Anlegen von Datenbanken, Erstellen und Ändern von Tabellen wird die Steuerung der Benutzer und deren Zugriffsrechte erklärt.
MySQL ist ein Datenbankverwaltungssystem (engl. database management system) für relationale Datenbanken. Die quelloffene Server-Software kann große Datenmengen von verschiedenen Nutzern in kurzer Zeit verarbeiten und bildet so häufig die Grundlage für viele Webseiten.
Der Zugriff auf MySQL ist unterschiedlich möglich:
MySQL unterstützt den aktuellen SQL-Standad (engl. structured query language).
Die Software MySQL Community Server kann unter folgenden Link heruntergeladen werden:
Für Nutzer von Windows oder Mac-OS empfiehlt sich aber die Installation von XAMPP, da hier ein Webserer, PHP, PHPMyAdmin und MySQL in einem Paket installiert werden.
Man beachte, dass mit MySQL riesige Datensätze mit einem einzigen Befehl ohne Rückfrage verändert werden können und so großer Schaden angerichtet werden kann.
SQL (engl. Structured Query Language) ist eine Datenbanksprache zur Definition, Manipulation und Abfrage (engl. query) von Datenstrukturen.
Im ersten Schritt wird mit dem Befehl create database ...
eine Datenbank angelegt. In jeder Datenbank lassen sich beliebig viele Tabellen mit dem Befehl create table ....
erstellen.
Im zweiten Schritt können die Daten mit den Befehlen insert ...
, update ...
und delete ...
manipuliert werden.
Im dritten Schritt erfolgt die Abfrage (engl. query) der Daten mit dem Befehl select ...
.
In einem vierten Schritt lassen sich Benutzer und deren Zugriffsrechte steuern (engl. control).
Data Definition | Datenbanken und Tabellen anlegen |
Data Manipulation | Anlegen, Ändern und Löschen von Datensetzen |
Data Query | Abfrage der Daten |
Data Control | Benutzer anlegen und Zugriffsrechte steuern |
Zum Anlegen von Datenbanken startet man MySQL in der Konsole/Terminal:
~ $ ./mysql -u root
Hinweis: Beenden tut man MySQL mit:
> quit
Befehl | Bedeutung |
---|---|
create database <dbname>; |
Datenbank anlegen |
drop database <dbname>; |
Datenbank löschen |
use <dbname>; |
Datenbank selektieren |
show databases; |
Datenbanken anzeigen |
Database |
---|
Fortbildung |
Schulung |
create database Fortbildung;
create database Schulung;
show databases;
drop database Schulung;
Zum Erstellen von Tabellen müssen Datentypen bekannt sein:
Datentyp | Beschreibung |
---|---|
int |
Ganzzahl 4 Bytes |
float, double |
Gleitkommazahlen |
char(n) |
Zeichenkette mit n Zeichen (max. 255) |
varchar(n) |
Zeichenkette die nur benötigten Speicher belegt |
time, date |
Zeit- und Datumstypen |
Datentypen können durch Optionen ergänzt werden:
Option | Beschreibung |
---|---|
NOT NULL |
leeres Feld nicht zulässig |
AUTO_INCREMENT |
automatisches Hochzählen der Spalte |
PRIMARY KEY |
Spalte ist Primärschlüssel |
Tabellen erstellen, löschen und Struktur anzeigen:
Befehl | Bedeutung |
---|---|
CREATE TABLE <tbname> (<colname> type [options], <colname> type [options], ...);
|
Tabelle anlegen |
DROP TABLE <tbname>; |
Tabelle löschen |
SHOW TABLES; |
Tabellenstruktur anzeigen |
DESCRIBE TABLES <tbname>; |
ausführliche Tabellenstruktur anzeigen |
field | type | key | extra |
---|---|---|---|
pkperson | int | PRI | auto_increment |
name | char | ||
vorname | char | ||
orderno | int | MUL |
USE fortbildung;
CREATE TABLE orders (
orderid int NOT NULL,
bezeichnung char(30),
PRIMARY KEY (orderid)
);
CREATE TABLE person (
pkperson int NOT NULL AUTO_INCREMENT,
name char(30),
vorname char(30),
orderno int NOT NULL,
PRIMARY KEY (pkperson),
FOREIGN KEY (orderno) REFERENCES orders(orderid)
);
DESCRIBE person;
pkperson | name | vorname |
---|---|---|
100 | Meier | Hans |
101 | Baer | Teddy |
insert into person (pkperson, name, vorname) values(100,"Maier", "Hans");
insert into person (pkperson, name, vorname) values(Null,"Baer", "Teddy");
update person set name = "Meier" where pkperson = 100;
delete from person where pkperson >= 102;
select * from person;
Rezept für 3 Stück Laugengebäck:
Teig kneten und alle 20-30 Minuten falten. Am Ende 30 Minuten ruhen lassen und direkt vor dem Backen mit 4 % Natronlauge bestreichen. Mit Rasierklinge einschneiden und mit grobem Salz bestreuen. Ohne Wasserdampf bei 200 °C circa 15 Minuten backen.
pkPerson | name | vorname |
---|---|---|
100 | Maier | Sepp |
101 | Pfeiffer | Arndt |
102 | Lindner | Xaver |
pkKurs | bezeichnung |
---|---|
100 | Netzwerktechnik |
102 | Webdesign |
105 | Datenbanken |
pkBuchung | fkPerson | fkKurs | Datum |
---|---|---|---|
1 | 100 | 100 | 2021-02-15 |
2 | 101 | 102 | 2021-12-09 |
3 | 102 | 105 | 2021-03-15 |
Wähle die korrekten Aussagen aus.
> create table person (pkPerson int not null auto_increment primary key, name char(30), vorname char(30));
> create table person (pkPerson int not null auto_increment primary key, name varchar(30), vorname varchar(30));
> delete from person where pkperson >= 102;
> select * from person;
> select * from person;
insert into person (pkPerson, name, vorname) values(Null,"Baer", "Teddy");
ein.Wähle die passende Aussage zum Befehl.
Wähle eine Antwort.
phpMyAdmin ist eine Webanwendung zur Administration von MySQL-Datenbanken. Die grafische Oberfläche erleichtert die Wartung und Administration von MySQL-Servern.
Von jeder Datenbank wird unter dem Menüpunkt Mehr>Designer eine Übersicht aller Tabellen und deren Strukturen dargestellt.
Das Erstellen von Datenbanken und Tabellen sowie deren Manipulation wird unter verschiedenen Reitern ermöglicht. Darüber hinaus lässt sich eine Abfrage der Datensätze durchführen.
Ein weiterer wichtiger Aspekt sind die Benutzerverwaltung und deren Zugriffsrechte. Diese werden in der Datenbank mysql gespeichert. In phpMyAdmin werden unter dem Menüpunkt "Benutzerkonten", Benutzer und deren Zugriffsrechte geregelt.
insert
, update
, grant
und revoke
zur Verfügung.
Wähle die korrekten Aussagen aus.
Gegeben ist folgende Benutzerkontenübersicht:
Benutzername | Hostname | Passwort | Globale Rechte |
---|---|---|---|
dbadmin | % | Nein | ALL PRIVILEGES |
sekretariat | 192.168.0.% | Ja | SELECT |
Wähle korrekte Aussagen über den Benutzer "dbadmin".
Wähle beliebig viele Antworten.
Wähle korrekte Aussagen über den Benutzer "sekretariat".
Wähle beliebig viele Antworten.
Nenne die beiden Befehle, mit der alle Benutzer und zugehörigen Hosts angezeigt werden.
Wähle zwei Antworten.
> use mysql;
> use fortbildung;
> select user, host from mysql;
> select user, host from user;
Nenne Auswirkungen des folgenden Befehls:
> GRANT SELECT ON *.* TO 'sekretariat'@'192.168.0.%'
Wähle zwei Antworten.
MySQL | Datenbankverwaltungssystem (engl. database management system) |
SQL | Datenbanksprache (engl. structured query language) |
phpMyAdmin | Webanwendung zur Administration von MySQL-Datenbanken |
MySQL Workbench | Software zur Erstellung und Bearbeitung von MySQL-Datenbanken |
XAMPP | Programmpaket mit Software wie: Webserver Apache, PHP, MySQL und PHPMyAdmin |
Data Definition | Datenbanken und Tabellen anlegen |
Data Manipulation | Anlegen, Ändern und Löschen von Datensetzen |
Data Query | Datenbankabfrage |
Data Control | Benutzer anlegen und Zugriffsrechte steuern |
der Datentyp, -en | Format und Größe von Daten |
inkrementieren | hochzählen eines Wertes |