Einführung
In diesem Projekt lernst du, wie du verschiedene DDL (Data Definition Language)-Operationen auf einer MySQL-Datenbank ausführst. Du wirst eine Datenbank, Tabellen erstellen, die Tabellenstrukturen ändern, Daten löschen und Tabellen und Datenbanken löschen.
👀 Vorschau



🎯 Aufgaben
In diesem Projekt wirst du lernen:
- Wie du den MySQL-Dienst starten und die Datenbank mit dem Befehl
sudozugreifen kannst - Wie du eine Datenbank mit einem bestimmten Zeichensatz erstellen kannst
- Wie du Tabellen mit verschiedenen Datentypen und Primärschlüsseln erstellst
- Wie du Tabellenstrukturen ändern kannst, z. B. um Primärschlüssel automatisch inkrementieren zu lassen
- Wie du Daten aus Tabellen mit
DELETEundTRUNCATElöschen kannst - Wie du Tabellen und Datenbanken löschen kannst
🏆 Errungenschaften
Nach Abschluss dieses Projekts wirst du in der Lage sein:
- Die grundlegenden DDL-Operationen in MySQL zu verstehen
- Datenbanken und Tabellen zu erstellen und zu verwalten
- Tabellenstrukturen an deine Bedürfnisse anzupassen
- Daten effizient aus Tabellen zu löschen
- Tabellen und Datenbanken erforderlichenfalls zu löschen
Starte MySQL und greife auf die Datenbank zu
In diesem Schritt lernst du, wie du den MySQL-Dienst startest und wie du ohne Passwort über den Befehl sudo auf die Datenbank zugreifst.
- Starte den MySQL-Dienst mit dem folgenden Befehl:
sudo service mysql start
- Greife auf die MySQL-Datenbank ohne Passwort über den Befehl
sudozu:
sudo mysql
Jetzt bist du bereit, zum nächsten Schritt fortzufahren.
Erstelle die Datenbank und die Tabellen
In diesem Schritt lernst du, wie du die Datenbank testddl mit dem als utf8mb4 angegebenen Zeichensatz erstellst und dann die Tabellen emp und dept innerhalb der Datenbank erstellst.
- Erstelle die Datenbank
testddlmit dem alsutf8mb4angegebenen Zeichensatz:
CREATE DATABASE IF NOT EXISTS `testddl` DEFAULT CHARACTER SET utf8mb4;
- Verwende die Datenbank
testddl:
USE `testddl`;
- Erstelle die Tabelle
empmit der folgenden Struktur:
CREATE TABLE `emp` (
`eid` int(5) NOT NULL,
`ename` varchar(50),
`sal` DECIMAL,
`deptno` int(5),
PRIMARY KEY (`eid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- Erstelle die Tabelle
deptmit der folgenden Struktur:
CREATE TABLE `dept` (
`did` int(5) NOT NULL,
`dname` varchar(50) DEFAULT NULL,
PRIMARY KEY (`did`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Jetzt hast du die Datenbank testddl und die Tabellen emp und dept erstellt. Lass uns zum nächsten Schritt fortfahren.
Ändere die Tabellen
In diesem Schritt lernst du, wie du die Primärschlüssel der Tabellen emp und dept so ändern, dass sie automatisch inkrementiert werden, beginnend bei 10. Du wirst auch den Datentyp des sal-Felds in der emp-Tabelle auf Integer ändern.
- Ändere den Primärschlüssel der
emp-Tabelle so, dass er automatisch inkrementiert wird, beginnend bei10:
ALTER TABLE `emp` AUTO_INCREMENT=10;
- Ändere den Primärschlüssel der
dept-Tabelle so, dass er automatisch inkrementiert wird, beginnend bei10:
ALTER TABLE `dept` AUTO_INCREMENT=10;
- Ändere den Datentyp des
sal-Felds in deremp-Tabelle auf Integer:
ALTER TABLE `emp` MODIFY `sal` INT(5);
Jetzt werden die Primärschlüssel der Tabellen emp und dept automatisch inkrementiert, beginnend bei 10, und der Datentyp des sal-Felds in der emp-Tabelle ist auf Integer geändert.
Lösche Daten aus den Tabellen
In diesem Schritt lernst du, wie du alle Daten aus den Tabellen emp und dept löschst.
- Lösche alle Daten aus der Tabelle
empmit demDELETE-Statement:
DELETE FROM `emp`;
- Lösche alle Daten aus der Tabelle
deptmit demTRUNCATE-Statement:
TRUNCATE TABLE `dept`;
Jetzt sind die Tabellen emp und dept leer.
Lösche die Tabelle und die Datenbank
In diesem letzten Schritt lernst du, wie du die Tabelle emp und die Datenbank testddl löschst.
- Lösche die Tabelle
emp:
DROP TABLE `emp`;
- Lösche die Datenbank
testddl:
DROP DATABASE `testddl`;
Du kannst auf die folgende Ausgabe verweisen:
MariaDB [(none)]> USE `testddl`;
Database changed
MariaDB [testddl]> CREATE TABLE `emp` (
-> `eid` int(5) NOT NULL,
-> `ename` varchar(50),
-> `sal` DECIMAL,
-> `deptno` int(5),
-> PRIMARY KEY (`eid`)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Query OK, 0 rows affected (0.005 sec)
MariaDB [testddl]> CREATE TABLE `dept` (
-> `did` int(5) NOT NULL,
-> `dname` varchar(50) DEFAULT NULL,
-> PRIMARY KEY (`did`)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Query OK, 0 rows affected (0.004 sec)
MariaDB [testddl]> desc emp;
+--------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+---------------+------+-----+---------+-------+
| eid | int(5) | NO | PRI | NULL | |
| ename | varchar(50) | YES | | NULL | |
| sal | decimal(10,0) | YES | | NULL | |
| deptno | int(5) | YES | | NULL | |
+--------+---------------+------+-----+---------+-------+
4 rows in set (0.001 sec)
MariaDB [testddl]> ALTER TABLE `emp` AUTO_INCREMENT=10;
Query OK, 0 rows affected (0.005 sec)
Records: 0 Duplicates: 0 Warnings: 0
MariaDB [testddl]> ALTER TABLE `dept` AUTO_INCREMENT=10;
Query OK, 0 rows affected (0.003 sec)
Records: 0 Duplicates: 0 Warnings: 0
MariaDB [testddl]> ALTER TABLE `emp` MODIFY `sal` INT(5);
Query OK, 0 rows affected (0.006 sec)
Records: 0 Duplicates: 0 Warnings: 0
MariaDB [testddl]> desc emp;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| eid | int(5) | NO | PRI | NULL | |
| ename | varchar(50) | YES | | NULL | |
| sal | int(5) | YES | | NULL | |
| deptno | int(5) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.001 sec)
MariaDB [testddl]> DELETE FROM `emp`;
Query OK, 0 rows affected (0.000 sec)
MariaDB [testddl]> TRUNCATE TABLE `dept`;
Query OK, 0 rows affected (0.003 sec)
MariaDB [testddl]> show tables;
+-------------------+
| Tables_in_testddl |
+-------------------+
| dept |
| emp |
+-------------------+
2 rows in set (0.000 sec)
MariaDB [testddl]> DROP TABLE `emp`;
Query OK, 0 rows affected (0.002 sec)
MariaDB [testddl]> show tables;
+-------------------+
| Tables_in_testddl |
+-------------------+
| dept |
+-------------------+
1 row in set (0.000 sec)
MariaDB [testddl]> show schemas;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| testddl |
+--------------------+
5 rows in set (0.000 sec)
MariaDB [testddl]> DROP DATABASE `testddl`;
Query OK, 1 row affected (0.004 sec)
MariaDB [(none)]> show schemas;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.000 sec)
Herzlichen Glückwunsch! Du hast die DDL-Komplett-Challenge abgeschlossen. Du hast gelernt, wie man eine Datenbank erstellt, Tabellen erstellt, Tabellenstrukturen modifiziert, Daten aus Tabellen löscht und Tabellen und Datenbanken löscht.********
Zusammenfassung
Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Übungen absolvieren, um deine Fähigkeiten zu verbessern.



