====== Erste einfache SQL-Befehle ====== Wir verwenden eine XAMPP-Installation. Diese enthält einen MySQL-Datenbanksystem, mit der wir uns im Folgenden verbinden. Eine Anleitung zur Installation eines MySQL-Server auf einem [[Raspberry Pi]] findest du in //Raspberry Pi - Das umfassende Handbuch//, Kap. 24.5. Setting environment for using XAMPP for Windows. schüler@21N-04 c:\xampp # mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.6.11 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> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | test | +--------------------+ 2 rows in set (0.06 sec) mysql> exit Bye schüler@21N-04 c:\xampp # mysql -uroot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.6.11 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> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | cdcol | | data | | mysql | | performance_schema | | phpmyadmin | | test | | webauth | +--------------------+ 8 rows in set (0.06 sec) mysql> create database it_fakturierung; Query OK, 1 row affected (0.05 sec) mysql> show databases; +---------------------+ | Database | +---------------------+ | information_schema | | cdcol | | data | | it_fakturierung | | mysql | | performance_schema | | phpmyadmin | | test | | webauth | +---------------------+ 9 rows in set (0.00 sec) mysql> use it_fakturierung; Database changed mysql> show tables; Empty set (0.00 sec) mysql> create table produkte -> (id int primary key, -> name varchar(256), -> preis int); Query OK, 0 rows affected (0.34 sec) mysql> show tables; +-------------------------------+ | Tables_in_it_fakturierung | +-------------------------------+ | produkte | +-------------------------------+ 1 row in set (0.00 sec) mysql> describe produkte; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(256) | YES | | NULL | | | preis | int(11) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+ 3 rows in set (0.01 sec) mysql> explain produkte; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(256) | YES | | NULL | | | preis | int(11) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+ 3 rows in set (0.01 sec) mysql> INSERT INTO produkte VALUES (187, '3D Graphic Power', 9800); Query OK, 1 row affected (0.03 sec) mysql> INSERT INTO produkte VALUES (243, 'Super Games', 3420); Query OK, 1 row affected (0.05 sec) mysql> SELECT * FROM produkte; +-----+------------------+-------+ | id | name | preis | +-----+------------------+-------+ | 187 | 3D Graphic Power | 9800 | | 243 | Super Games | 3420 | +-----+------------------+-------+ 2 rows in set (0.03 sec) mysql> SELECT id,name FROM produkte; +-----+------------------+ | id | name | +-----+------------------+ | 187 | 3D Graphic Power | | 243 | Super Games | +-----+------------------+ 2 rows in set (0.00 sec) mysql> exit; Bye schüler@21N-04 c:\xampp # f: schüler@21N-04 F:\ # cd "F:\Backup\Lernsituation Fakturierung" schüler@21N-04 F:\Backup\Lernsituation Fakturierung # mysqldump -uroot it_fakturierung > dump.sql schüler@21N-04 F:\Backup\Lernsituation Fakturierung # ===== Übungen ===== - Betrachte die obigen Befehle und versuche, ihre Funktionalität nachzuvollziehen. - Gib die Befehle selbst ein und vergleiche die Ausgabe. - Welche Befehle fehlen in der Backupdatei? - Mit welcher Option können die fehlenden Befehle ergänzt werden?((Mit ''mysqldump --help'' werden viele Optionen angezeigt.)) - Lösche die angelegte Datenbank.((Du erhältst Hilfe mit dem Befehl ''help DROP DATABASE'' in der mysql-Konsole)) - Stelle die Datenbank aus der Backupdatei wieder her.((//Hinweis:// Du kannst eine Datei mit dem ''source'' Befehl einlesen. Dazu muss die Datenbank aber vorher angelegt worden sein und man muss sie mit ''use'' auswählen.)) - Prüfe, ob (a) die Datenbank erstellt, (b) die Tabellen darin angelegt und (c) die Datensätze korrekt hinzugefügt wurden.