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. 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:
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: Äußere Verknüpfungen werden in linke Verknüpfungen und rechte Verknüpfungen unterteilt, die wie folgt definiert sind:
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. 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:
|
<<: Detaillierte Erklärung zur Installation von MariaDB 10.2.4 auf CentOS7
>>: Swiper+echarts realisiert den Links- und Rechts-Scrolleffekt mehrerer Dashboards
Das Standard-Remote-Repository von Nexus ist http...
Inhaltsverzeichnis I. Definition 2. Anwendungssze...
BFC-Konzept: Der Blockformatierungskontext ist ei...
Datenbank anzeigen show databases; Erstellen eine...
Nginx verwendet eine feste Anzahl von Multiprozes...
Inhaltsverzeichnis React-Demo zur Anzeige des Dat...
Vorwort: Im vorherigen Artikel haben wir hauptsäc...
Verwenden des UNION-Operators Union : Wird verwen...
Schlossklassifizierung: Aus der Granularität der ...
Die Schritte zum Verpacken einer Python-Umgebung ...
Rezension der vorherigen Folge: Gestern haben wir...
Aus beruflichen Gründen musste ich kürzlich Zahle...
Es gibt drei Möglichkeiten, Docker-Container mite...
Inhaltsverzeichnis 1 Installieren Sie Docker im B...
Teilen Sie einen Echtzeituhreffekt, der mit nativ...