Zum Inhalt springen

Mysql/Grundlagen: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 8: Zeile 8:


== Anwendung ==
== Anwendung ==
<syntaxhighlight lang="bash" highlight="1" line copy>
<syntaxhighlight lang="sql" highlight="1" copy>
</syntaxhighlight>
</syntaxhighlight>
<!-- output -->
<!-- output -->
<syntaxhighlight lang="bash" highlight="" line>
<syntaxhighlight lang="sql" highlight="" line>
</syntaxhighlight>
</syntaxhighlight>


Zeile 18: Zeile 17:
; Vorhandene Datenbanken anzeigen
; Vorhandene Datenbanken anzeigen
Verwenden Sie eine [https://dev.mysql.com/doc/refman/8.0/en/show-databases.html SHOW DATABASES] Anweisung
Verwenden Sie eine [https://dev.mysql.com/doc/refman/8.0/en/show-databases.html SHOW DATABASES] Anweisung
<syntaxhighlight lang="sql" highlight="1" line>
 
mysql> SHOW DATABASES;
<syntaxhighlight lang="sql" highlight="1" copy>
SHOW DATABASES;
</syntaxhighlight>
<!-- output -->
<syntaxhighlight lang="sql" highlight="" line>
+--------------------+
+--------------------+
| Database          |
| Database          |
Zeile 34: Zeile 37:
; Erstellen einer neuen Datenbank
; Erstellen einer neuen Datenbank
Verwenden Sie eine [https://dev.mysql.com/doc/refman/8.0/en/create-database.html CREATE DATABASE] Anweisung
Verwenden Sie eine [https://dev.mysql.com/doc/refman/8.0/en/create-database.html CREATE DATABASE] Anweisung
<syntaxhighlight lang="sql" highlight="1" line>
 
mysql> CREATE DATABASE pets;
<syntaxhighlight lang="sql" highlight="1" copy>
CREATE DATABASE pets;
</syntaxhighlight>
<!-- output -->
<syntaxhighlight lang="sql" highlight="" line>
Query OK, 1 row affected (0.01 sec)
Query OK, 1 row affected (0.01 sec)
</syntaxhighlight>
</syntaxhighlight>
Zeile 41: Zeile 48:
; Prüfen Sie, ob die Datenbank erstellt worden ist
; Prüfen Sie, ob die Datenbank erstellt worden ist
<syntaxhighlight lang="sql" highlight="1" line>
<syntaxhighlight lang="sql" highlight="1" line>
mysql> SHOW DATABASES;
SHOW DATABASES;
 
+--------------------+
+--------------------+
| Database          |
| Database          |
Zeile 58: Zeile 66:
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" line>
mysql> USE pets
USE pets
Database changed
Database changed
</syntaxhighlight>
</syntaxhighlight>
Zeile 80: Zeile 88:
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" line>
mysql> SHOW TABLES;
SHOW TABLES;
+----------------+
+----------------+
| Tables_in_pets |
| Tables_in_pets |
Zeile 92: Zeile 100:
[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" line>
mysql> DESCRIBE cats;
DESCRIBE cats;
+-------+------------------+------+-----+---------+----------------+
+-------+------------------+------+-----+---------+----------------+
| Field | Type            | Null | Key | Default | Extra          |
| Field | Type            | Null | Key | Default | Extra          |
Zeile 120: Zeile 128:
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" line>
mysql> SELECT * FROM cats;
SELECT * FROM cats;
+----+---------+--------+------------+
+----+---------+--------+------------+
| id | name    | owner  | birth      |
| id | name    | owner  | birth      |
Zeile 133: Zeile 141:
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" line>
mysql> SELECT name FROM cats WHERE owner = 'Casey';
SELECT name FROM cats WHERE owner = 'Casey';
+--------+
+--------+
| name  |
| name  |
Zeile 146: Zeile 154:
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" line>
mysql> 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)


mysql> SELECT * FROM cats;
SELECT * FROM cats;
+----+---------+--------+------------+
+----+---------+--------+------------+
| id | name    | owner  | birth      |
| id | name    | owner  | birth      |
Zeile 172: Zeile 180:
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" line>
mysql> DESCRIBE cats;
DESCRIBE cats;
+--------+------------------+------+-----+---------+----------------+
+--------+------------------+------+-----+---------+----------------+
| Field  | Type            | Null | Key | Default | Extra          |
| Field  | Type            | Null | Key | Default | Extra          |
Zeile 187: Zeile 195:
[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" line>
mysql> SHOW CREATE TABLE cats\G
SHOW CREATE TABLE cats\G
*************************** 1
*************************** 1
* row ***************************
* row ***************************
Zeile 204: Zeile 212:
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" line>
mysql> 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)
Records: 0  Duplicates: 0  Warnings: 0
Records: 0  Duplicates: 0  Warnings: 0


mysql> DESCRIBE cats;
DESCRIBE cats;
+-------+------------------+------+-----+---------+----------------+
+-------+------------------+------+-----+---------+----------------+
| Field | Type            | Null | Key | Default | Extra          |
| Field | Type            | Null | Key | Default | Extra          |

Version vom 18. März 2026, 10:59 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 Sie, ob die Datenbank erstellt worden ist
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

Wählen Sie zunächst die Datenbank aus, in der Sie die Tabelle mit einer USE-Anweisung erstellen möchten

USE pets
Database changed

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,                <nowiki># Name of the cat</nowiki>
  owner           VARCHAR(150) NOT NULL,                <nowiki># Owner of the cat</nowiki>
  birth           DATE NOT NULL,                        <nowiki># Birthday of the cat</nowiki>
  PRIMARY KEY     (id)                                  <nowiki># Make the id the primary key</nowiki>
);

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)


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)

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' );

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)

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)

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)

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

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)

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)

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)

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