Zum Inhalt springen

Mysql/Grundlagen: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 11: Zeile 11:
</syntaxhighlight>
</syntaxhighlight>
<!-- output -->
<!-- output -->
<syntaxhighlight lang="sql" highlight="" line>
<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

Projekt