Zusammenfassung der MySQL-DML-Anweisungen

Zusammenfassung der MySQL-DML-Anweisungen

DML-Operationen beziehen sich auf Operationen an Tabellendatensätzen in der Datenbank, hauptsächlich das Einfügen (Einfügen), Aktualisieren (Aktualisieren), Löschen (Löschen) und Abfragen (Auswählen) von Tabellendatensätzen. Dies sind die von Entwicklern im täglichen Leben am häufigsten verwendeten Operationen.

1. Einfügen

Format 1.

INSERT INTO emp(ename,einstellungsdatum,gehalt,abteilungsnummer) VALUES('zzx1','2000-01-01','2000',1);

Format 2.

INSERT INTO emp VALUES('lisa','2003-02-01','3000',2);

Den Feldnamen müssen Sie nicht angeben, der Wert muss jedoch genau dem Tabellenfeld entsprechen.

Format 3.

INSERT INTO emp(ename,sal) VALUES('dony',1000);

Bei nullbaren Feldern, nicht-null Feldern mit Standardwerten und Auto-Increment-Feldern müssen diese nicht in der Feldliste nach INSERT erscheinen. Schreiben Sie einfach den VALUE des entsprechenden Feldnamens nach VALUES:

Format 4

In MySQL kann die INSERT-Anweisung auch mehrere Datensätze auf einmal einfügen:

INSERT INTO Tabellenname(Feld1,Feld2,......Feldn)
WERTE
(Datensatz1_Wert1,Datensatz1_Wert2,......Datensatz1_Werten),
(Datensatz2_Wert1,Datensatz2_Wert2,......Datensatz2_Werten),
......
(Datensatzwert1,Datensatzwert2,......Datensatzwerte);

2. Aktualisierung

Format 1

UPDATE emp SET sal=4000 WHERE ename='lisa';

Format 2

AKTUALISIEREN t1, t2, ... tn SETZEN 
t1.Feld1=Ausdruck1,
t2.Feld2=Ausdruck2,
...
tn.fieldn=Ausdruck[WHERE BEDINGUNG];

Daten in mehreren Tabellen gleichzeitig aktualisieren

3. Löschen

Format 1

LÖSCHEN AUS Tabellenname [WHERE BEDINGUNG];

Format 2

LÖSCHE t1, t2, ... tn VON t1, t2, ... tn [WO BEDINGUNG];

Hinweis: Unabhängig davon, ob es sich um eine einzelne Tabelle oder mehrere Tabellen handelt, werden alle Datensätze in der Tabelle gelöscht, ohne dass eine Where-Bedingung hinzugefügt wird. Seien Sie daher beim Bedienen vorsichtig.

4. Abfrage (Auswahl)

Grundlegende Syntax:

SELECT * FROM Tabellenname [WHERE BEDINGUNG];

1. Um eindeutige Datensätze abzufragen, können Sie das Schlüsselwort distinct verwenden:

Wählen Sie eine eindeutige Abteilungsnummer aus der Liste „Emp“ aus.

2. Bedingte Abfrage:

Wählen Sie * aus Emp, wobei Abteilungsnummer = 1 ist.

Die Bedingungen nach „where“ können neben „=“ auch Vergleichsoperatoren wie >, <, >=, <= und != verwenden.

Sie können auch logische Operatoren wie „oder“ und „und“ verwenden, um gemeinsame Abfragen mit mehreren Bedingungen durchzuführen.

3. Sortierung und Einschränkungen:

SELECT * FROM Tabellenname [WHERE BEDINGUNG] [ORDER BY Feld1 [DESC|ASC], Feld2 [DESC|ASC],...Feldn [DESC|ASC]];

Darunter sind DESC und ASC Sortierschlüsselwörter.
DESC bedeutet Sortierung nach Feldern in absteigender Reihenfolge (größtes oben – kleinstes unten).
ASC steht für aufsteigende Reihenfolge (kleinste oben – größte unten).
Wenn dieses Schlüsselwort nicht geschrieben wird, ist die aufsteigende Reihenfolge die Standardeinstellung.
Auf ORDER BY können mehrere verschiedene Sortierfelder folgen und jedes Sortierfeld kann eine andere Sortierreihenfolge haben.

Bei gleichbleibenden Werten der Sortierfelder werden die Felder mit gleichen Werten nach dem zweiten Sortierfeld sortiert und so weiter. Wenn nur ein Sortierfeld vorhanden ist, werden Datensätze mit demselben Sortierfeld in der falschen Reihenfolge sortiert.

AUSWÄHLEN ......[LIMIT Offset_Start, Zeilenanzahl];

Wenn Sie bei sortierten Datensätzen nicht alle, sondern nur einen Teil davon anzeigen möchten, können Sie dies mit dem Schlüsselwort LIMIT erreichen.

LIMIT wird häufig zusammen mit ORDER BY verwendet, um Datensätze auf Seiten anzuzeigen.

Hinweis: „Limit“ ist eine von MySQL nach SQL92 erweiterte Syntax und ist nicht auf andere Datenbanken anwendbar.

4. Aggregation

In vielen Fällen müssen wir einige Zusammenfassungsvorgänge durchführen, z. B. die Anzahl der Personen im gesamten Unternehmen oder die Anzahl der Personen in jeder Abteilung zählen, was die Verwendung von SQL-Set-Vorgängen erfordert.

SELECT [Feld1,Feld2,......Feldn] Fun_Name
FROM Tabellenname
[WHERE wo_Bedingung]
[GROUP BY Feld1,Feld2,......Feldn
[MIT ROLLUP]]
[HAVING where_condition];

Die Parameter werden wie folgt beschrieben:

  1. fun_name gibt die auszuführende Mengenoperation an, also die Aggregatfunktion. Häufig verwendete sind sum (Summe), count(*) (Anzahl der Datensätze), max (Maximalwert) und min (Minimalwert).
  2. Das Schlüsselwort GROUP BY gibt das zu klassifizierende und zu aggregierende Feld an. Wenn Sie beispielsweise die Anzahl der Mitarbeiter nach Abteilung zählen möchten, sollte die Abteilung nach group by geschrieben werden.
  3. WITH ROLLUP ist eine optionale Syntax, die angibt, ob die Ergebnisse nach der Klassifizierungsaggregation erneut aggregiert werden sollen.
  4. Das Schlüsselwort HAVING gibt an, dass die klassifizierten Ergebnisse zusätzlich nach Bedingungen gefiltert werden.

Hinweis: Der Unterschied zwischen „having“ und „where“ besteht darin, dass „having“ die Ergebnisse nach der Aggregation filtert, während „where“ die Datensätze vor der Aggregation filtert. Wenn die Logik es zulässt, sollten wir „where“ verwenden, um die Datensätze zuerst zu filtern. Dies wird die Effizienz der Aggregation erheblich verbessern, da der Ergebnissatz reduziert wird. Schließlich können wir anhand der Logik sehen, ob „having“ zum erneuten Filtern verwendet werden soll.

5. Tabellenverknüpfung

Tabellenverknüpfungen werden in innere und äußere Verknüpfungen unterteilt. Die Hauptunterschiede zwischen ihnen sind:
Der innere Join wählt nur die Datensätze aus, die in den beiden Tabellen übereinstimmen.
Der äußere Join wählt andere nicht übereinstimmende Datensätze aus. Wir verwenden häufig Inner Join.

Äußere Verknüpfungen werden in linke Verknüpfungen und rechte Verknüpfungen unterteilt, die wie folgt definiert sind:

  1. Linker Join: Schließt alle Datensätze der linken Tabelle ein, auch wenn in der rechten Tabelle kein passender Datensatz vorhanden ist.
  2. Rechtsverknüpfung: Schließt alle Datensätze der rechten Tabelle ein, auch diejenigen, die nicht mit der linken Tabelle übereinstimmen.
Wählen Sie ename, Abteilungsname aus, von emp LEFT JOIN Abteilung auf emp.deptno = Abteilung.deptno;

6. Unterabfragen

In manchen Fällen ist die von uns benötigte Bedingung bei einer Abfrage das Ergebnis einer anderen SELECT-Anweisung. In diesem Fall müssen wir eine Unterabfrage verwenden.
Zu den für Unterabfragen verwendeten Schlüsselwörtern gehören hauptsächlich „in“, „not in“, „=“, „!=“, „existiert“, „nicht existiert“ usw.

Wählen Sie * aus, von emp, wo Abteilungsnummer in (wählen Sie Abteilungsnummer aus Abteilung);

Hinweis: Die Konvertierung zwischen Unterabfragen und Tabellenverknüpfungen wird hauptsächlich in zwei Aspekten verwendet:

MySQL-Versionen vor 4.1 unterstützen keine Unterabfragen. Zur Implementierung von Unterabfragen sind Tabellenverknüpfungen erforderlich. Tabellenverknüpfungen werden in vielen Fällen zur Optimierung von Unterabfragen verwendet.

7. Gemeinsam aufnehmen

Wir stoßen häufig auf solche Anwendungen. Nachdem die Daten zweier Tabellen gemäß bestimmten Abfragebedingungen abgefragt wurden, werden die Ergebnisse zusammengeführt und gemeinsam angezeigt. Zu diesem Zeitpunkt müssen Sie die Schlüsselwörter union und union all verwenden, um diese Funktion zu implementieren. Die spezifische Syntax lautet wie folgt:

WÄHLEN SIE * VON t1
UNION|UNION ALLE
WÄHLEN SIE * VON t2
......
UNION|UNION ALLE
WÄHLEN SIE * VON tn;

Der Hauptunterschied zwischen UNION und UNION ALL besteht darin, dass UNION ALL die Ergebnismengen direkt zusammenführt, während UNION ein DISTINCT auf das Ergebnis von UNION ALL ausführt, um doppelte Datensätze zu entfernen.

Das Obige ist eine Zusammenfassung der ausführlichen Erklärung der MySQL-DML-Anweisungen, die vom Herausgeber eingeführt wurde. Ich hoffe, dass es für alle hilfreich sein wird. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • Einige allgemeine SQL-Anweisungen in MySQL
  • Organisieren Sie die häufig verwendeten MySql-Abfrageanweisungen (23 Typen).
  • Die umfassendste Sammlung von MySQL-Abfrageanweisungen
  • MySQL-Anweisungsanordnung und zusammenfassende Einführung
  • Sammlung von MySQL-Fuzzy-Abfrageanweisungen
  • Zusammenfassung der MySQL-Anweisungen
  • In der MySQL-Datentabelle verwendete SQL-Anweisungsanordnung

<<:  Detaillierte Erklärung zur Installation von MariaDB 10.2.4 auf CentOS7

>>:  Swiper+echarts realisiert den Links- und Rechts-Scrolleffekt mehrerer Dashboards

Artikel empfehlen

Einführung und Verwendung des JS-Beobachtermodus

Inhaltsverzeichnis I. Definition 2. Anwendungssze...

Was ist BFC? So löschen Sie Floats mithilfe von CSS-Pseudoelementen

BFC-Konzept: Der Blockformatierungskontext ist ei...

Grundkenntnisse zu MySQL – Lernhinweise

Datenbank anzeigen show databases; Erstellen eine...

Detaillierte Erklärung des Nginx-Prozessplanungsproblems

Nginx verwendet eine feste Anzahl von Multiprozes...

React-Beispiel, das den Fortschritt des Datei-Uploads zeigt

Inhaltsverzeichnis React-Demo zur Anzeige des Dat...

Detaillierte Erklärung zur Verwendung von MySQL DML-Anweisungen

Vorwort: Im vorherigen Artikel haben wir hauptsäc...

Probleme mit Sperren in MySQL

Schlossklassifizierung: Aus der Granularität der ...

Responsive Webdesign lernen (2) — Können Videos responsiv gemacht werden?

Rezension der vorherigen Folge: Gestern haben wir...

Detaillierte Erklärung zur Formatierung von Zahlen in MySQL

Aus beruflichen Gründen musste ich kürzlich Zahle...

Der gesamte Prozess der Installation von Gogs mit Pagoda Panel und Docker

Inhaltsverzeichnis 1 Installieren Sie Docker im B...

Natives JS zur Implementierung einer Echtzeituhr

Teilen Sie einen Echtzeituhreffekt, der mit nativ...