Zum Inhalt springen

Mysql/Grundlagen: Unterschied zwischen den Versionen

Aus Foxwiki
Markierung: Ersetzt
Zeile 6: Zeile 6:
* einfach einzurichten
* einfach einzurichten
* leicht zu verwenden
* leicht zu verwenden
== Grundlegende Operationen ==
[https://dev.mysql.com/doc/refman/8.0/en/sql-statements.html SQL-Anweisungen] erklärt detailliert die reichhaltige Syntax und die Funktionalität der SQL-Anweisungen, die hier vorgestellt werden
=== Datenbanken anzeigen ===
; Vorhandene Datenbanken anzeigen
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;
+--------------------+
| Database          |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)
</syntaxhighlight>
=== Datenbank erstellen ===
; Erstellen einer neuen Datenbank
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;
Query OK, 1 row affected (0.01 sec)
</syntaxhighlight>
Prüfen Sie, ob die Datenbank erstellt worden ist
<syntaxhighlight lang="sql" highlight="1" line>
mysql> SHOW DATABASES;
+--------------------+
| Database          |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| pets              |
| sys                |
+--------------------+
5 rows in set (0.00 sec)
</syntaxhighlight>
=== Tabelle erstellen ===
; Erstellen einer Tabelle innerhalb einer Datenbank
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>
mysql> USE pets
Database changed
</syntaxhighlight>
Die Anweisung [https://dev.mysql.com/doc/refman/8.0/en/use.html USE] weist MySQL an, <tt>pets</tt> als Standarddatenbank für nachfolgende Anweisungen zu verwenden
* 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>
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>
);
</syntaxhighlight>
Datentypen, die Sie in jeder Spalte verwenden können, werden in [https://dev.mysql.com/doc/refman/8.0/en/data-types.html Datentypen] erläutert. [https://dev.mysql.com/doc/refman/8.0/en/primary-key-optimization.html Primärschlüssel-Optimierung] erklärt das Konzept von eines Primärschlüssels
* Was auf ein <tt><nowiki>#</nowiki></tt> in jeder Zeile folgt, ist ein Kommentar, der vom '''mysql''' Client ignoriert wird; siehe [https://dev.mysql.com/doc/refman/8.0/en/comments.html Kommentare] für andere Kommentararten
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>
mysql> SHOW TABLES;
+----------------+
| Tables_in_pets |
+----------------+
| cats          |
+----------------+
1 row in set (0.00 sec)
</syntaxhighlight>
[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>
mysql> 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 [https://dev.mysql.com/doc/refman/8.0/en/insert.html INSERT...VALUES]-Anweisung
<syntaxhighlight lang="sql" highlight="1" line>
INSERT INTO cats ( name, owner, birth) VALUES
  ( 'Sandy', 'Lennon', '2015-01-03' ),
  ( 'Cookie', 'Casey', '2013-11-13' ),
  ( 'Charlie', 'River', '2016-05-21' );
</syntaxhighlight>
Siehe [https://dev.mysql.com/doc/refman/8.0/en/literals.html 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 [https://dev.mysql.com/doc/refman/8.0/en/select.html SELECT]-Anweisung und "*", um alle Spalten abzugleichen
<syntaxhighlight lang="sql" highlight="1" line>
mysql> 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 <tt>WHERE</tt>-Klausel
<syntaxhighlight lang="sql" highlight="1" line>
mysql> 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 [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>
mysql> DELETE FROM cats WHERE name='Cookie';
Query OK, 1 row affected (0.05 sec)
mysql> 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 [https://dev.mysql.com/doc/refman/8.0/en/alter-table.html ALTER TABLE...ADD] Anweisung, um eine Spalte hinzuzufügen
* Sie können z.B
* eine <tt>AFTER</tt> Klausel verwenden, um den Ort der neuen Spalte anzugeben
<syntaxhighlight lang="sql" highlight="1" line>
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 [https://dev.mysql.com/doc/refman/8.0/en/explain.html DESCRIBE], um das Ergebnis zu überprüfen
<syntaxhighlight lang="sql" highlight="1" line>
mysql> 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>
[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>
mysql> 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 [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>
mysql> ALTER TABLE cats DROP gender;
Query OK, 0 rows affected (0.19 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> 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 [https://dev.mysql.com/doc/refman/8.0/en/tutorial.html Tutorial] finden Sie weitere Anleitungen für die Arbeit mit dem MySQL-Server


== Anwendung ==
== Anwendung ==

Version vom 18. März 2026, 10:49 Uhr

Mysql/Grundlagen - MySQL-Einführung

Beschreibung

MySQL ist die weltweit beliebteste Open-Source-Datenbank
  • leistungsstarke Funktionen
  • einfach einzurichten
  • leicht zu verwenden

Anwendung

Problembehebung

Konfiguration

Dateien

Datei Beschreibung


Anhang

Siehe auch



Dokumentation

Projekt