Grundlegende Datenmanipulation in MySQL

SQLSQLBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir die grundlegenden Datenmanipulationsoperationen in MySQL untersuchen. Sie werden lernen, wie Sie Daten in MySQL-Tabellen einfügen, auswählen, aktualisieren und löschen können. Diese Operationen, die gemeinhin als CRUD (Create, Read, Update, Delete) bezeichnet werden, bilden die Grundlage der Datenbankinteraktionen. Durch praktische Übungen werden Sie praktische Erfahrungen mit diesen essentiellen Datenbankoperationen sammeln und verstehen, wie Sie Daten in MySQL-Tabellen effektiv verwalten können.

Dies ist ein Guided Lab, das schrittweise Anweisungen bietet, um Ihnen beim Lernen und Üben zu helfen. Befolgen Sie die Anweisungen sorgfältig, um jeden Schritt abzuschließen und praktische Erfahrungen zu sammeln. Historische Daten zeigen, dass dies ein Labor der Stufe Anfänger mit einer Abschlussquote von 93% ist. Es hat eine positive Bewertungsrate von 100% von den Lernenden erhalten.

Grundlegende Dateneinfügung

In diesem Schritt werden wir lernen, wie man Daten in MySQL-Tabellen mit der INSERT-Anweisung einfügt. Wir beginnen mit einfachen Einfügungen von einzelnen Zeilen und gehen dann zu Mehrzeileneinfügungen über.

Zuerst verbinden wir uns mit MySQL:

sudo mysql -u root

Nachdem die Verbindung hergestellt ist, wählen wir die store-Datenbank aus:

USE store;

Einfügung einer einzelnen Zeile

Beginnen wir damit, ein einzelnes Produkt in unsere products-Tabelle einzufügen:

INSERT INTO products (name, price, description)
VALUES ('Coffee Maker', 49.99, 'A 12-cup drip coffee maker with programmable timer');

Lassen Sie uns diesen Befehl zerlegen:

  • INSERT INTO products: Gibt die Tabelle an, in die wir einfügen
  • (name, price, description): Listet die Spalten auf, für die wir Werte angeben
  • VALUES (...): Gibt die eigentlichen Werte an, die eingefügt werden sollen

Beachten Sie, dass wir nicht Folgendes angegeben haben:

  • id: Sie wird automatisch inkrementiert, daher übernimmt MySQL diese Aufgabe automatisch
  • created_at: Sie hat einen Standardwert, der der aktuellen Zeitmarke entspricht

Um die Einfügung zu überprüfen, können wir die Daten auswählen:

SELECT * FROM products;

Sie sollten eine Ausgabe wie diese sehen:

+----+--------------+--------+----------------------------------------------------+---------------------+
| id | name         | price  | description                                        | created_at          |
+----+--------------+--------+----------------------------------------------------+---------------------+
|  1 | Coffee Maker |  49.99 | A 12-cup drip coffee maker with programmable timer | 2024-11-07 09:12:06 |
+----+--------------+--------+----------------------------------------------------+---------------------+

Mehrzeileneinfügung

Jetzt fügen wir mehrere Produkte auf einmal ein. Dies ist effizienter als das Einfügen von Zeilen einzeln:

INSERT INTO products (name, price, description) VALUES
    ('Toaster', 29.99, '2-slice toaster with multiple browning settings'),
    ('Blender', 79.99, 'High-speed blender for smoothies and soups'),
    ('Microwave', 129.99, '1000-watt microwave with digital controls');

Dieser Befehl folgt der gleichen Struktur wie die Einfügung einer einzelnen Zeile, enthält jedoch mehrere Wertsätze, die durch Kommas getrennt sind.

Lassen Sie uns die Einfügungen überprüfen:

SELECT * FROM products;

Sie sollten eine Ausgabe wie diese sehen:

+----+--------------+--------+----------------------------------------------------+---------------------+
| id | name         | price  | description                                        | created_at          |
+----+--------------+--------+----------------------------------------------------+---------------------+
|  1 | Coffee Maker |  49.99 | A 12-cup drip coffee maker with programmable timer | 2024-11-07 09:12:06 |
|  2 | Toaster      |  29.99 | 2-slice toaster with multiple browning settings    | 2024-11-07 09:12:16 |
|  3 | Blender      |  79.99 | High-speed blender for smoothies and soups         | 2024-11-07 09:12:16 |
|  4 | Microwave    | 129.99 | 1000-watt microwave with digital controls          | 2024-11-07 09:12:16 |
+----+--------------+--------+----------------------------------------------------+---------------------+

Grundlegende SELECT-Abfragen

In diesem Schritt werden wir lernen, wie man Daten aus unserer Tabelle mit SELECT-Anweisungen abruft. Wir werden verschiedene Möglichkeiten zur Auswahl und Formatierung unserer Ausgabe untersuchen.

Auswahl bestimmter Spalten

Anstatt alle Spalten mit * auszuwählen, können wir genau angeben, welche Spalten wir sehen möchten:

SELECT name, price FROM products;

Dies gibt uns eine fokussiertere Ansicht unserer Daten:

+-------------+--------+
| name        | price  |
+-------------+--------+
| Coffee Maker| 49.99  |
| Toaster     | 29.99  |
| Blender     | 79.99  |
| Microwave   | 129.99 |
+-------------+--------+

Verwendung von Spaltenaliasen

Wir können unsere Ausgabe lesbarer gestalten, indem wir Spaltenaliase mit dem Schlüsselwort AS verwenden:

SELECT
    name AS product_name,
    price AS retail_price,
    price * 0.8 AS sale_price
FROM products;

Diese Abfrage:

  • Benennt name in product_name um
  • Benennt price in retail_price um
  • Berechnet einen Verkaufspreis (20 % Rabatt) und benennt ihn sale_price

Sie werden eine Ausgabe wie diese sehen:

+-------------+-------------+------------+
| product_name| retail_price| sale_price |
+-------------+-------------+------------+
| Coffee Maker| 49.99       | 39.99      |
| Toaster     | 29.99       | 23.99      |
| Blender     | 79.99       | 63.99      |
| Microwave   | 129.99      | 103.99     |
+-------------+-------------+------------+

Filtern der Ergebnisse

Wir können die WHERE-Klausel verwenden, um unsere Ergebnisse zu filtern:

SELECT name, price
FROM products
WHERE price < 50.00;

Dies zeigt uns nur Produkte unter 50 US-Dollar:

+-------------+-------+
| name        | price |
+-------------+-------+
| Coffee Maker| 49.99 |
| Toaster     | 29.99 |
+-------------+-------+

Aktualisieren von Daten

In diesem Schritt werden wir lernen, wie man vorhandene Daten mit der UPDATE-Anweisung ändert. Die UPDATE-Anweisung ermöglicht es uns, Werte in unseren Tabellen zu ändern.

WICHTIG: Verwenden Sie immer eine WHERE-Klausel mit UPDATE-Anweisungen! Ohne WHERE wird die Aktualisierung ALLE Zeilen in der Tabelle betreffen.

Nehmen wir an, wir müssen den Preis unseres Coffee Makers erhöhen:

UPDATE products
SET price = 54.99
WHERE name = 'Coffee Maker';

Wir können auch mehrere Spalten auf einmal aktualisieren:

UPDATE products
SET
    price = 89.99,
    description = 'Professional-grade high-speed blender for smoothies and soups'
WHERE name = 'Blender';

Um unsere Aktualisierungen zu überprüfen:

SELECT name, price, description
FROM products
WHERE name IN ('Coffee Maker', 'Blender');

Sie sollten die aktualisierten Werte sehen:

+--------------+-------+---------------------------------------------------------------+
| name         | price | description                                                   |
+--------------+-------+---------------------------------------------------------------+
| Coffee Maker | 54.99 | A 12-cup drip coffee maker with programmable timer            |
| Blender      | 89.99 | Professional-grade high-speed blender for smoothies and soups |
+--------------+-------+---------------------------------------------------------------+

Löschen von Daten

In diesem letzten Schritt werden wir lernen, wie man Daten aus unseren Tabellen mit der DELETE-Anweisung entfernt. Wie bei der UPDATE-Anweisung ist es wichtig, die WHERE-Klausel mit der DELETE-Anweisung zu verwenden, um versehentlich alle Daten zu löschen.

Lassen Sie uns den Toaster aus unseren Produkten entfernen:

DELETE FROM products
WHERE name = 'Toaster';

Um die Löschung zu überprüfen:

SELECT * FROM products;

Sie sollten alle Produkte außer dem Toaster sehen:

+----+-------------+-------+-----------------------------------------------------+---------------------+
| id | name        | price | description                                         | created_at          |
+----+-------------+-------+-----------------------------------------------------+---------------------+
|  1 | Coffee Maker| 54.99 | A 12-cup drip coffee maker with programmable timer | 2024-01-01 12:00:00 |
|  3 | Blender     | 89.99 | Professional-grade high-speed blender for smoothies| 2024-01-01 12:00:00 |
|  4 | Microwave   | 129.99| 1000-watt microwave with digital controls          | 2024-01-01 12:00:00 |
+----+-------------+-------+-----------------------------------------------------+---------------------+

Wir können auch mehrere Zeilen auf einmal löschen. Lassen Sie uns alle Produkte über 100 US-Dollar entfernen:

DELETE FROM products
WHERE price > 100;

Dies sollte den Mikrowellenherd aus unserer Produktliste entfernen.

MariaDB [store]> SELECT * FROM products;
+----+--------------+-------+---------------------------------------------------------------+---------------------+
| id | name         | price | description                                                   | created_at          |
+----+--------------+-------+---------------------------------------------------------------+---------------------+
|  1 | Coffee Maker | 54.99 | A 12-cup drip coffee maker with programmable timer            | 2024-11-07 09:12:06 |
|  3 | Blender      | 89.99 | Professional-grade high-speed blender for smoothies and soups | 2024-11-07 09:12:16 |
+----+--------------+-------+---------------------------------------------------------------+---------------------+

Zusammenfassung

In diesem Lab haben wir die grundlegenden Datenmanipulationsoperationen in MySQL behandelt:

  1. INSERT-Anweisungen zum Hinzufügen einzelner und mehrerer Datenzeilen
  2. SELECT-Abfragen zum Abrufen und Formatieren von Daten
  3. UPDATE-Anweisungen zum Ändern vorhandener Daten
  4. DELETE-Anweisungen zum Entfernen von Daten aus Tabellen

Diese Operationen bilden die Grundlage der Datenbankmanipulation und sind essentielle Fähigkeiten für alle, die mit Datenbanken arbeiten.