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

Mehrere Möglichkeiten zum Zentrieren einer Box in der Webentwicklung

1. Notieren Sie mehrere Methoden zum Zentrieren d...

js canvas realisiert kreisförmige Wasseranimation

In diesem Artikelbeispiel wird der spezifische Co...

Implementierungsprinzip und Skriptcode der HTML-Rabattpreisberechnung

Code kopieren Der Code lautet wie folgt: <!DOC...

MySQL max_allowed_packet-Einstellung

max_allowed_packet ist ein Parameter in MySQL, de...

So greifen Sie über die IP-Adresse auf MySql zu

1. Melden Sie sich bei MySQL an: mysql -u root -h...

Linux-Tutorial zum Ersetzen von Zeichenfolgen mit dem Befehl sed

Um eine Zeichenfolge zu ersetzen, müssen wir das ...

Eine kurze Einführung in die MySQL MyCat-Middleware

1. Was ist mycat Ein vollständig Open Source-Groß...

So verwenden Sie die Clipboard-API in JS

Inhaltsverzeichnis 1. Document.execCommand()-Meth...

Beispiel einer JSON-Ausgabe im HTML-Format (Testschnittstelle)

Um die JSON-Daten in einem schönen eingerückten F...

Index-Skip-Scan in MySQL 8.0

Vorwort MySQL 8.0.13 unterstützt nun den Index-Sk...

vue+echarts realisiert den Flusseffekt der China-Karte (detaillierte Schritte)

@vue+echarts realisiert den Flusseffekt der China...