Mysql/Grundlagen: Unterschied zwischen den Versionen
| Zeile 11: | Zeile 11: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<!-- output --> | <!-- output --> | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="text" highlight="" line> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Zeile 69: | Zeile 69: | ||
; Datenbank auswählen | ; Datenbank auswählen | ||
Wählen Sie zunächst die Datenbank aus, in der Sie die Tabelle mit einer [https://dev.mysql.com/doc/refman/8.0/en/use.html USE]-Anweisung erstellen möchten | Wählen Sie zunächst die Datenbank aus, in der Sie die Tabelle mit einer [https://dev.mysql.com/doc/refman/8.0/en/use.html USE]-Anweisung erstellen möchten | ||
<syntaxhighlight lang="sql" highlight="1" line> | <syntaxhighlight lang="sql" highlight="1" copy> | ||
</syntaxhighlight> | |||
<!-- output --> | |||
<syntaxhighlight lang="text" highlight="" line> | |||
</syntaxhighlight> | |||
USE pets | USE pets | ||
Database changed | Database changed | ||
| Zeile 79: | Zeile 84: | ||
Als nächstes erstellen Sie eine Tabelle mit einer [https://dev.mysql.com/doc/refman/8.0/en/create-table.html CREATE TABLE] Anweisung | Als nächstes erstellen Sie eine Tabelle mit einer [https://dev.mysql.com/doc/refman/8.0/en/create-table.html CREATE TABLE] Anweisung | ||
<syntaxhighlight lang="sql" highlight="1" line> | <syntaxhighlight lang="sql" highlight="1" copy> | ||
</syntaxhighlight> | |||
<!-- output --> | |||
<syntaxhighlight lang="text" highlight="" line> | |||
</syntaxhighlight> | |||
CREATE TABLE cats | CREATE TABLE cats | ||
( | ( | ||
| Zeile 94: | Zeile 104: | ||
Prüfen Sie, ob die Tabelle mit einer [https://dev.mysql.com/doc/refman/8.0/en/show-tables.html SHOW TABLES] Anweisung erstellt wurde | Prüfen Sie, ob die Tabelle mit einer [https://dev.mysql.com/doc/refman/8.0/en/show-tables.html SHOW TABLES] Anweisung erstellt wurde | ||
<syntaxhighlight lang="sql" highlight="1" line> | <syntaxhighlight lang="sql" highlight="1" copy> | ||
</syntaxhighlight> | |||
<!-- output --> | |||
<syntaxhighlight lang="text" highlight="" line> | |||
</syntaxhighlight> | |||
SHOW TABLES; | SHOW TABLES; | ||
+----------------+ | +----------------+ | ||
| Zeile 106: | Zeile 121: | ||
[https://dev.mysql.com/doc/refman/8.0/en/explain.html DESCRIBE] zeigt Informationen über alle Spalten einer Tabelle | [https://dev.mysql.com/doc/refman/8.0/en/explain.html DESCRIBE] zeigt Informationen über alle Spalten einer Tabelle | ||
<syntaxhighlight lang="sql" highlight="1" line> | <syntaxhighlight lang="sql" highlight="1" copy> | ||
</syntaxhighlight> | |||
<!-- output --> | |||
<syntaxhighlight lang="text" highlight="" line> | |||
</syntaxhighlight> | |||
DESCRIBE cats; | DESCRIBE cats; | ||
+-------+------------------+------+-----+---------+----------------+ | +-------+------------------+------+-----+---------+----------------+ | ||
| Zeile 122: | Zeile 142: | ||
; Hinzufügen von Datensätzen in eine Tabelle | ; Hinzufügen von Datensätzen in eine Tabelle | ||
Verwenden Sie zum Beispiel eine [https://dev.mysql.com/doc/refman/8.0/en/insert.html INSERT...VALUES]-Anweisung | Verwenden Sie zum Beispiel eine [https://dev.mysql.com/doc/refman/8.0/en/insert.html INSERT...VALUES]-Anweisung | ||
<syntaxhighlight lang="sql" highlight="1" line> | <syntaxhighlight lang="sql" highlight="1" copy> | ||
</syntaxhighlight> | |||
<!-- output --> | |||
<syntaxhighlight lang="text" highlight="" line> | |||
</syntaxhighlight> | |||
INSERT INTO cats ( name, owner, birth) VALUES | INSERT INTO cats ( name, owner, birth) VALUES | ||
( 'Sandy', 'Lennon', '2015-01-03' ), | ( 'Sandy', 'Lennon', '2015-01-03' ), | ||
| Zeile 134: | Zeile 159: | ||
; Abrufen von Datensätzen aus einer Tabelle | ; Abrufen von Datensätzen aus einer Tabelle | ||
Verwenden Sie eine [https://dev.mysql.com/doc/refman/8.0/en/select.html SELECT]-Anweisung und "*", um alle Spalten abzugleichen | Verwenden Sie eine [https://dev.mysql.com/doc/refman/8.0/en/select.html SELECT]-Anweisung und "*", um alle Spalten abzugleichen | ||
<syntaxhighlight lang="sql" highlight="1" line> | <syntaxhighlight lang="sql" highlight="1" copy> | ||
</syntaxhighlight> | |||
<!-- output --> | |||
<syntaxhighlight lang="text" highlight="" line> | |||
</syntaxhighlight> | |||
SELECT * FROM cats; | SELECT * FROM cats; | ||
+----+---------+--------+------------+ | +----+---------+--------+------------+ | ||
| Zeile 147: | Zeile 177: | ||
Um bestimmte Spalten und Zeilen nach einer bestimmten Bedingung auszuwählen, verwenden Sie die <tt>WHERE</tt>-Klausel | Um bestimmte Spalten und Zeilen nach einer bestimmten Bedingung auszuwählen, verwenden Sie die <tt>WHERE</tt>-Klausel | ||
<syntaxhighlight lang="sql" highlight="1" line> | <syntaxhighlight lang="sql" highlight="1" copy> | ||
</syntaxhighlight> | |||
<!-- output --> | |||
<syntaxhighlight lang="text" highlight="" line> | |||
</syntaxhighlight> | |||
SELECT name FROM cats WHERE owner = 'Casey'; | SELECT name FROM cats WHERE owner = 'Casey'; | ||
+--------+ | +--------+ | ||
| Zeile 160: | Zeile 195: | ||
; Löschen eines Datensatzes aus einer Tabelle | ; Löschen eines Datensatzes aus einer Tabelle | ||
Verwenden Sie eine [https://dev.mysql.com/doc/refman/8.0/en/delete.html DELETE]-Anweisung, um einen -Datensatz aus einer Tabelle zu löschen, und geben Sie das Kriterium für das Löschen mit der <tt>WHERE</tt>-Klausel an | Verwenden Sie eine [https://dev.mysql.com/doc/refman/8.0/en/delete.html DELETE]-Anweisung, um einen -Datensatz aus einer Tabelle zu löschen, und geben Sie das Kriterium für das Löschen mit der <tt>WHERE</tt>-Klausel an | ||
<syntaxhighlight lang="sql" highlight="1" line> | <syntaxhighlight lang="sql" highlight="1" copy> | ||
</syntaxhighlight> | |||
<!-- output --> | |||
<syntaxhighlight lang="text" highlight="" line> | |||
</syntaxhighlight> | |||
DELETE FROM cats WHERE name='Cookie'; | DELETE FROM cats WHERE name='Cookie'; | ||
Query OK, 1 row affected (0.05 sec) | Query OK, 1 row affected (0.05 sec) | ||
| Zeile 179: | Zeile 219: | ||
* Sie können z.B | * Sie können z.B | ||
* eine <tt>AFTER</tt> Klausel verwenden, um den Ort der neuen Spalte anzugeben | * eine <tt>AFTER</tt> Klausel verwenden, um den Ort der neuen Spalte anzugeben | ||
<syntaxhighlight lang="sql" highlight="1" line> | |||
<syntaxhighlight lang="sql" highlight="1" copy> | |||
</syntaxhighlight> | |||
<!-- output --> | |||
<syntaxhighlight lang="text" highlight="" line> | |||
</syntaxhighlight> | |||
mysql> ALTER TABLE cats ADD gender CHAR(1) AFTER name; | mysql> ALTER TABLE cats ADD gender CHAR(1) AFTER name; | ||
Query OK, 0 rows affected (0.24 sec) | Query OK, 0 rows affected (0.24 sec) | ||
| Zeile 186: | Zeile 232: | ||
Verwenden Sie [https://dev.mysql.com/doc/refman/8.0/en/explain.html DESCRIBE], um das Ergebnis zu überprüfen | Verwenden Sie [https://dev.mysql.com/doc/refman/8.0/en/explain.html DESCRIBE], um das Ergebnis zu überprüfen | ||
<syntaxhighlight lang="sql" highlight="1" line> | <syntaxhighlight lang="sql" highlight="1" copy> | ||
</syntaxhighlight> | |||
<!-- output --> | |||
<syntaxhighlight lang="text" highlight="" line> | |||
</syntaxhighlight> | |||
DESCRIBE cats; | DESCRIBE cats; | ||
+--------+------------------+------+-----+---------+----------------+ | +--------+------------------+------+-----+---------+----------------+ | ||
| Zeile 201: | Zeile 252: | ||
[https://dev.mysql.com/doc/refman/8.0/en/show-create-table.html SHOW CREATE TABLE] zeigt eine [https://dev.mysql.com/doc/refman/8.0/en/create-table.html CREATE TABLE] Anweisung, die noch mehr Details über die Tabelle liefert | [https://dev.mysql.com/doc/refman/8.0/en/show-create-table.html SHOW CREATE TABLE] zeigt eine [https://dev.mysql.com/doc/refman/8.0/en/create-table.html CREATE TABLE] Anweisung, die noch mehr Details über die Tabelle liefert | ||
<syntaxhighlight lang="sql" highlight="1" line> | <syntaxhighlight lang="sql" highlight="1" copy> | ||
</syntaxhighlight> | |||
<!-- output --> | |||
<syntaxhighlight lang="text" highlight="" line> | |||
</syntaxhighlight> | |||
SHOW CREATE TABLE cats\G | SHOW CREATE TABLE cats\G | ||
*************************** 1 | *************************** 1 | ||
| Zeile 218: | Zeile 274: | ||
Verwenden Sie [https://dev.mysql.com/doc/refman/8.0/en/alter-table.html ALTER TABLE...DROP] um eine Spalte zu löschen | Verwenden Sie [https://dev.mysql.com/doc/refman/8.0/en/alter-table.html ALTER TABLE...DROP] um eine Spalte zu löschen | ||
<syntaxhighlight lang="sql" highlight="1" line> | <syntaxhighlight lang="sql" highlight="1" copy> | ||
</syntaxhighlight> | |||
<!-- output --> | |||
<syntaxhighlight lang="text" highlight="" line> | |||
</syntaxhighlight> | |||
ALTER TABLE cats DROP gender; | ALTER TABLE cats DROP gender; | ||
Query OK, 0 rows affected (0.19 sec) | Query OK, 0 rows affected (0.19 sec) | ||
Version vom 18. März 2026, 11:16 Uhr
Mysql/Grundlagen - MySQL-Einführung
Beschreibung
- MySQL ist die weltweit beliebteste Open-Source-Datenbank
- leistungsstarke Funktionen
- einfach einzurichten
- leicht zu verwenden
Anwendung
Datenbanken anzeigen
- Vorhandene Datenbanken anzeigen
Verwenden Sie eine SHOW DATABASES Anweisung
SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
Datenbank erstellen
- Erstellen einer neuen Datenbank
Verwenden Sie eine CREATE DATABASE Anweisung
CREATE DATABASE pets;
Query OK, 1 row affected (0.01 sec)
- Prüfen, ob die Datenbank erstellt wurde
SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| pets |
| sys |
+--------------------+
5 rows in set (0.00 sec)
Tabelle erstellen
Erstellen einer Tabelle innerhalb einer Datenbank
- Datenbank auswählen
Wählen Sie zunächst die Datenbank aus, in der Sie die Tabelle mit einer USE-Anweisung erstellen möchten
USE pets Database changed </syntaxhighlight>
Die Anweisung USE weist MySQL an, pets als Standarddatenbank für nachfolgende Anweisungen zu verwenden
Als nächstes erstellen Sie eine Tabelle mit einer CREATE TABLE Anweisung
CREATE TABLE cats (
id INT unsigned NOT NULL AUTO_INCREMENT, # Unique ID for the record name VARCHAR(150) NOT NULL, # Name of the cat owner VARCHAR(150) NOT NULL, # Owner of the cat birth DATE NOT NULL, # Birthday of the cat PRIMARY KEY (id) # Make the id the primary key
); </syntaxhighlight>
Datentypen, die Sie in jeder Spalte verwenden können, werden in Datentypen erläutert. Primärschlüssel-Optimierung erklärt das Konzept von eines Primärschlüssels
- Was auf ein # in jeder Zeile folgt, ist ein Kommentar, der vom mysql Client ignoriert wird; siehe Kommentare für andere Kommentararten
Prüfen Sie, ob die Tabelle mit einer SHOW TABLES Anweisung erstellt wurde
SHOW TABLES; +----------------+ | Tables_in_pets | +----------------+ | cats | +----------------+ 1 row in set (0.00 sec) </syntaxhighlight>
DESCRIBE zeigt Informationen über alle Spalten einer Tabelle
DESCRIBE cats; +-------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | name | varchar(150) | NO | | NULL | | | owner | varchar(150) | NO | | NULL | | | birth | date | NO | | NULL | | +-------+------------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec) </syntaxhighlight>
Datensätze hinzufügen
- Hinzufügen von Datensätzen in eine Tabelle
Verwenden Sie zum Beispiel eine INSERT...VALUES-Anweisung
INSERT INTO cats ( name, owner, birth) VALUES
( 'Sandy', 'Lennon', '2015-01-03' ), ( 'Cookie', 'Casey', '2013-11-13' ), ( 'Charlie', 'River', '2016-05-21' );
</syntaxhighlight>
Siehe Literale Werte für das Schreiben von Strings, Datumswerten und anderen Arten von Literalen in MySQL
Datensätzen anzeigen
- Abrufen von Datensätzen aus einer Tabelle
Verwenden Sie eine SELECT-Anweisung und "*", um alle Spalten abzugleichen
SELECT * FROM cats; +----+---------+--------+------------+ | id | name | owner | birth | +----+---------+--------+------------+ | 1 | Sandy | Lennon | 2015-01-03 | | 2 | Cookie | Casey | 2013-11-13 | | 3 | Charlie | River | 2016-05-21 | +----+---------+--------+------------+ 3 rows in set (0.00 sec) </syntaxhighlight>
Um bestimmte Spalten und Zeilen nach einer bestimmten Bedingung auszuwählen, verwenden Sie die WHERE-Klausel
SELECT name FROM cats WHERE owner = 'Casey'; +--------+ | name | +--------+ | Cookie | +--------+ 1 row in set (0.00 sec) </syntaxhighlight>
Datensatz löschen
- Löschen eines Datensatzes aus einer Tabelle
Verwenden Sie eine DELETE-Anweisung, um einen -Datensatz aus einer Tabelle zu löschen, und geben Sie das Kriterium für das Löschen mit der WHERE-Klausel an
DELETE FROM cats WHERE name='Cookie'; Query OK, 1 row affected (0.05 sec)
SELECT * FROM cats; +----+---------+--------+------------+ | id | name | owner | birth | +----+---------+--------+------------+ | 1 | Sandy | Lennon | 2015-01-03 | | 3 | Charlie | River | 2016-05-21 | +----+---------+--------+------------+ 2 rows in set (0.00 sec) </syntaxhighlight>
Spalten hinzufügen/löschen
- Hinzufügen oder Löschen einer Spalte aus einer Tabelle
Verwenden Sie eine ALTER TABLE...ADD Anweisung, um eine Spalte hinzuzufügen
- Sie können z.B
- eine AFTER Klausel verwenden, um den Ort der neuen Spalte anzugeben
mysql> ALTER TABLE cats ADD gender CHAR(1) AFTER name; Query OK, 0 rows affected (0.24 sec) Records: 0 Duplicates: 0 Warnings: 0 </syntaxhighlight>
Verwenden Sie DESCRIBE, um das Ergebnis zu überprüfen
DESCRIBE cats; +--------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | name | varchar(150) | NO | | NULL | | | gender | char(1) | YES | | NULL | | | owner | varchar(150) | NO | | NULL | | | birth | date | NO | | NULL | | +--------+------------------+------+-----+---------+----------------+ 5 rows in set (0.00 sec) </syntaxhighlight>
SHOW CREATE TABLE zeigt eine CREATE TABLE Anweisung, die noch mehr Details über die Tabelle liefert
SHOW CREATE TABLE cats\G
- 1
- row ***************************
Table: cats
Create Table: CREATE TABLE `cats` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(150) NOT NULL, `gender` char(1) DEFAULT NULL, `owner` varchar(150) NOT NULL, `birth` date NOT NULL, PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 1 row in set (0.00 sec) </syntaxhighlight>
Verwenden Sie ALTER TABLE...DROP um eine Spalte zu löschen
ALTER TABLE cats DROP gender; Query OK, 0 rows affected (0.19 sec) Records: 0 Duplicates: 0 Warnings: 0
DESCRIBE cats; +-------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | name | varchar(150) | NO | | NULL | | | owner | varchar(150) | NO | | NULL | | | birth | date | NO | | NULL | | +-------+------------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec) </syntaxhighlight>
Im Tutorial finden Sie weitere Anleitungen für die Arbeit mit dem MySQL-Server
Problembehebung
Konfiguration
Dateien
| Datei | Beschreibung |
|---|---|
Anhang
Siehe auch
Dokumentation
SQL-Anweisungen erklärt detailliert die reichhaltige Syntax und die Funktionalität der SQL-Anweisungen, die hier vorgestellt werden
Links
Projekt
Weblinks