|
|
| 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 == |