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

Abfrageprozess und Optimierungsmethode der (JOIN/ORDER BY)-Anweisung in MySQL

Die EXPLAIN-Anweisung wird im MySQL-Abfrageanweis...

Beispielanalyse von MySQL-Start- und Verbindungsmethoden

Inhaltsverzeichnis So starten Sie mysqld Methode ...

js, um einen einfachen Lupeneffekt zu erzielen

In diesem Artikel wird der spezifische Code von j...

Gründe für den plötzlichen Leistungsabfall bei MySQL

Manchmal kann es vorkommen, dass eine SQL-Anweisu...

FTP-Remoteverbindung zu Linux über SSH

Installieren Sie zunächst SSH in Linux. Nehmen Si...

Detaillierte Erklärung des Overflow-Scrollens zur Lösung des Scroll-Lag-Problems

Vorwort Wenn Sie das Attribut „overflow: scroll“ ...

So implementieren Sie Hot Deployment und Hot Start in Eclipse/Tomcat

1. Hot Deployment: Das bedeutet, das gesamte Proj...

So entwerfen und erstellen Sie adaptive Webseiten

Mit der Verbreitung von 3G nutzen immer mehr Mens...

Problemaufzeichnung bei der Verwendung des Vue+Echarts-Diagramms

Vorwort echarts ist mein am häufigsten verwendete...

Implementierung der Einzelprozesssteuerung des Linux C-Hintergrunddienstprogramms

einführen Normalerweise muss ein Hintergrundserve...

CSS-Code zur Steuerung der Hintergrundfarbe der Webseite

Ich glaube, jeder macht sich oft Sorgen, ob er Bi...