Seitenleiste

Community

SQL

Grundlagen

Datenbanksysteme

Client/Server

Eingebettet

Datenbanken anlegen und löschen

Nachdem wir den MySQL-Service ans Laufen gebracht haben, starten wir den Client. Dafür gehen wir in die Konsole (Start-Menü öffnen und „cmd“ eingeben) und tippen in der Konsole „mysql“ ein. Wenn alles geklappt hat, sieht das etwa so aus:


Um zur Konsole zurückzukehren, kann man den mysql-Client mit exit wieder verlassen. mysql

Die Datenbank und der Datenbankservice

Häufig spricht man von „der Datenbank“ oder dem „Datenbankserver“ für den Computer, der die Datenbank organisiert. Der Datenbankservice ist kann allerdings mehr als nur eine Datenbank verwalten. Du kannst den Befehl SHOW DATABASES verwenden, um den Service zu fragen, welche Datenbanken der Service verwaltet:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
+--------------------+
2 rows in set (0.00 sec)

mysql>

SQL-Befehle werden üblicherweise groß geschrieben. So werden wir das im Tutorial auch tun, wenn es um's Tippen geht, ist die Groß-/Kleinschreibung aber nicht festgelegt. Einem SQL Befehl folgt in der Regel ein Semikolon, um klarzustellen, dass der Befehl zu Ende ist. Auch wenn die Installation ganz frisch ist, sehen wir, dass zwei Datenbanken schon da sind. Wenn wir mal in die Datenbank „test“ schauen wollen, benutzen wir den Befehl USE. Mit SHOW TABLES werden die Tabellen angezeigt, die sich innerhalb der Datenbank befinden.

mysql> use test;
Database changed
mysql> show tables;
Empty set (0.00 sec)

Die Datenbank „information_schema“ bietet Einblicke in die Tatigkeit von MySQL. Das ist für uns vorerst aber noch nicht interessant.

Eine eigene Datenbank anlegen

Wir wollen eine eigene Datenbank zum Testen anlegen. Der Befehl CREATE DATABASE wird uns dabei helfen. Als Parameter geben wir den Namen der neuen Datenbank an.

mysql> create database test;
ERROR 1007 (HY000): Can't create database 'test'; database exists
mysql> create database proggen;
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'proggen'

Dass der erste Versuch abgelehnt wird, ist logisch, aber wieso darf ich keine neue Datenbank „proggen“ anlegen? SQL verfügt über ein ausführliches Rechtesystem und solange man den Client als normaler User startet, fehlen einem die Rechte. Man kann beliebige User anlegen und diese können beliebige Rechte für die einzelnen Datenbanken haben oder auch nicht. Die Benutzer und die Datenbanken können also auch vollkommen unabhängig agieren, so dass ein Programm nur in seiner eigenen Datenbank arbeiten kann und sich nicht in Datenbanken anderer Programme einmischen darf, die auf dem gleichen Datenbank-Server verwaltet werden. Je nach Installation musste ein Admin- oder Root-Passwort eingegeben werden. Falls nicht, so wurde (hoffentlich) auch keins gesetzt. Melden wir uns als User „root“ an und erklären, dass wir ein Passwort eingeben möchten:

C:\Users\Xin>mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.6.10 MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database proggenorg;
Query OK, 1 row affected (0.00 sec)

Das Passwort wird nicht angezeigt, wenn bei der Installation kein Passwort festgelegt werden musste, kann man einfach Return drücken.

Eine Datenbank löschen

Nachdem wir nun unsere eigene Datenbank angelegt haben, lernen wir als nächstes, wie wir sie wieder los werden. Das hat einen sehr einfachen Grund, denn eine Datenbank zu löschen und anschließend neu zu erstellen ist der einfachste Weg, eine Datenbank in ihren Ursprungszustand zurück zu versetzen. Wir werden unsere Übungen also so schreiben, dass wir die Datenbank „proggenorg“ regelmäßig löschen und wieder neu anlegen.

Zum Löschen verwenden wir den Befehl DROP DATABASE und wie zuvor als Parameter den Namen der Datenbank:

mysql> drop database proggenorg;
Query OK, 0 rows affected (0.00 sec)

Bei manchen Datenbanken muss zuvor mit 'CLOSE DATABASE' die Datenbank geschlossen werden. MySQL benutzt diesen Befehl jedoch nicht:

drop database proggenorg;

Ziel dieser Lektion

Du solltest erstmal Kontakt mit einer Datenbank aufgenommen haben und eine eigene Datenbank erzeugt und gelöscht haben. Ein Datenbank-Service kann mehrere voneinander unabhängige Datenbanken, die ein User je nach eigenen Rechten auslesen oder manipulieren kann. In der kommenden Lektion werden wir uns Tabellen anschauen.