Vorwort: Im vorherigen Artikel haben wir hauptsächlich die Verwendung von DDL-Anweisungen vorgestellt, die aufmerksamen Studenten möglicherweise aufgefallen sind. Dieser Artikel konzentriert sich auf DML-Anweisungen und erläutert tabellendatenbezogene Vorgänge. Hier erklären wir die Klassifizierung von DDL- und DML-Anweisungen. Für manche Schüler ist dies möglicherweise nicht klar. DDL (Data Definition Language): Datendefinitionssprache, die zum Erstellen, Löschen, Ändern von Datenbank- oder Tabellenstrukturen und zum Bearbeiten der Struktur von Datenbanken oder Tabellen verwendet wird. Zu den gängigen Methoden gehören „Erstellen“, „Ändern“, „Löschen“ usw. DML (Data Manipulation Language): Datenmanipulationssprache, die hauptsächlich zum Aktualisieren (Hinzufügen, Löschen, Ändern) von Tabellendatensätzen verwendet wird. Zu den gängigen Befehlen gehören Einfügen, Aktualisieren, Löschen usw. 1. Daten einfügen Die Insert-Syntax wird hauptsächlich zum Einfügen von Daten verwendet. Die offizielle Dokumentation bietet auch viele Optionen: INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_name [, partition_name] ...)] [(col_name [, col_name] ...)] {VALUES | VALUE} (value_list) [, (value_list)] ... [ON DUPLICATE KEY UPDATE assignment_list] INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_name [, partition_name] ...)] SET assignment_list [ON DUPLICATE KEY UPDATE assignment_list] INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_name [, partition_name] ...)] [(col_name [, col_name] ...)] SELECT ... [ON DUPLICATE KEY UPDATE assignment_list] Wert: {expr | DEFAULT} Werteliste: Wert [, Wert] … Zuweisung: col_name = Wert Zuweisungsliste: Zuweisung [, Zuweisung] … Interessierte Studierende können die oben genannten Optionen konsultieren und studieren. Im Folgenden werde ich Ihnen in Kategorien mehrere häufig verwendete Syntaxen vorstellen. EINFÜGEN IN ... WERTE (...) Dies ist wahrscheinlich die häufigste Art, Insert-Anweisungen zu schreiben. Die Standardverwendung ist: INSERT INTO <Tabellenname> [ <Spaltenname 1> [ , … <Spaltenname n>] ]VALUES (Wert 1) [… , (Wert n) ]; INSERT INTO Tabelle (Spalte1, Spalte2 ...) VALUES (Wert1, Wert2, ...), (Wert1, Wert2, ...), ...; Die Syntax lautet wie folgt:
EINFÜGEN ... FESTLEGEN ... Die Anweisung insert ... set kann jeweils nur ein Datenelement einfügen. Sie kann Werte einiger Spalten in die Tabelle einfügen, was flexibler ist. INSERT INTO <Tabellenname> SET <Spaltenname 1> = <Wert 1>, <Spaltenname 2> = <Wert 2>, … EINFÜGEN IN ... AUSWÄHLEN ... Mit der Anweisung INSERT INTO…SELECT…FROM können Sie schnell Daten aus einer oder mehreren Tabellen abrufen und als Zeilendaten in eine andere Tabelle einfügen. Die SELECT-Klausel gibt einen Abfrageergebnissatz zurück und die INSERT-Anweisung fügt diesen Ergebnissatz in die angegebene Tabelle ein. Die Anzahl der Felder und der Datentyp jeder Datenzeile im Ergebnissatz müssen genau mit denen der bearbeiteten Tabelle übereinstimmen. Wenn beispielsweise die Testtabelle und die Test_bak-Tabelle dieselbe Struktur haben und wir die Daten aus der Testtabelle in die Test_bak-Tabelle einfügen möchten, können wir Folgendes tun: INSERT INTO test_bak, wähle * aus Test; EINFÜGEN ... BEIM UPDATE DES DOPPELTEN SCHLÜSSELS Wenn die neu einzufügende Zeile den Primärschlüssel (PRIMARY KEY) oder die UNIQUE-Einschränkung verletzt, meldet MySQL einen Fehler. Mit dieser Syntax lässt sich dieser Fehler beheben. Wenn in der Datenbank ein Datensatz vorhanden ist, wird dieser durch die Ausführung dieser Anweisung aktualisiert, und wenn er nicht vorhanden ist, wird er eingefügt. Hier ist ein Beispiel, um den Effekt zu demonstrieren: TABELLE `Student` erstellen ( `xuehao` int(11) Primärschlüssel, `Name` varchar(255) STANDARD NULL, `Alter` int(11) STANDARD NULL) ENGINE=InnoDB STANDARD CHARSET=utf8; mysql> wähle * von Student;+--------+------+------+| xuehao | Name | Alter |+--------+------+------+| 1001 | aaa | 18 || 1002 | bbb | 19 || 1003 | ccc | 20 |+--------+------+------+ Füge in den Schüler (xuehao, Name, Alter) die Werte (1003, 'ccc', 19) bei DUPLICATE KEY UPDATE ein: Alter = 19; mysql> wähle * von Student;+--------+------+------+| xuehao | Name | Alter |+--------+------+------+| 1001 | aaa | 18 || 1002 | bbb | 19 || 1003 | ccc | 19 |+--------+------+------+ Aktualisiere das Alter des Schülers = 19, wobei xuehao = 1003; ERSETZEN IN ... WERTE … „Replace into“ ähnelt „Insert“, außer dass „Replace into“ zuerst versucht, Daten in die Tabelle einzufügen. 1. Wenn festgestellt wird, dass die Datenzeile bereits in der Tabelle vorhanden ist (basierend auf dem Primärschlüssel oder dem eindeutigen Index), wird die Datenzeile gelöscht und anschließend die neuen Daten eingefügt. 2. Andernfalls fügen Sie die neuen Daten direkt ein. Nehmen wir zur Veranschaulichung ein Beispiel: mysql> wähle * von Student;+--------+------+------+| xuehao | Name | Alter |+--------+------+------+| 1001 | aaa | 18 || 1002 | bbb | 19 || 1003 | ccc | 19 |+--------+------+------+ ersetzen durch Studentenwerte (1003, 'ccc', 17); mysql> wähle * von Student;+--------+------+------+| xuehao | Name | Alter |+--------+------+------+| 1001 | aaa | 18 || 1002 | bbb | 19 || 1003 | ccc | 17 |+--------+------+------+ 2. Daten aktualisieren Mit der Update-Anweisung werden Tabellendaten aktualisiert. Die offiziell empfohlene Syntax lautet: UPDATE [LOW_PRIORITY] [IGNORE] Tabellenreferenz SET Zuweisungsliste [WHERE Where_Bedingung] [ORDER BY ...] [LIMIT Zeilenanzahl] Wert: {expr | DEFAULT} Zuweisung: col_name = Wert Zuweisungsliste: Zuweisung [, Zuweisung] … In ähnlicher Weise stellen wir hier nur die häufig verwendete Aktualisierungssyntax für einzelne Tabellen vor: UPDATE <Tabellenname> SET Feld1=Wert1 [,Feld2=Wert2…] [WHERE-Klausel][ORDER BY-Klausel] [LIMIT-Klausel] Die Syntax lautet wie folgt:
3. Daten löschen Mit der Delete-Anweisung werden Tabellendaten gelöscht. Das offizielle Dokument empfiehlt folgende Syntax: LÖSCHEN [NIEDRIGE_PRIORITÄT] [SCHNELL] [IGNORIEREN] VON Tabellenname [PARTITION (Partitionsname [, Partitionsname] ...)] [WHERE Where-Bedingung] [ORDER BY ...] [LIMIT Zeilenanzahl] Mit der DELETE-Anweisung können Sie Daten aus einer einzelnen Tabelle löschen. Die Syntax lautet: DELETE FROM <Tabellenname> [WHERE-Klausel] [ORDER BY-Klausel] [LIMIT-Klausel] Die Syntax lautet wie folgt:
Zusammenfassen: In diesem Artikel wird hauptsächlich die Syntax von drei DML-Anweisungen vorgestellt. Obwohl sie einfach erscheinen, sind die verschiedenen Optionen tatsächlich sehr komplex, insbesondere die Insert-Anweisung, die viele häufig verwendete Optionen enthält. An dieser Stelle möchten wir auch alle daran erinnern, dass Sie beim Ausführen von Update- oder Delete-Anweisungen vorsichtig sein müssen. Wenn Sie die Where-Bedingung nicht verwenden, werden alle Daten aktualisiert oder gelöscht. Oben finden Sie eine ausführliche Erläuterung der Verwendung von MySQL-DML-Anweisungen. Weitere Informationen zu MySQL-DML-Anweisungen finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: js zur Realisierung einer einfachen Scheibenuhr
>>: Detaillierte Schritte zum Konfigurieren des Tomcat-Servers in IDEA 2020
Konfiguration der Linux-Umgebungsvariablen Beim A...
Um die JSON-Daten in einem schönen eingerückten F...
Zunächst einmal hängt die Gestaltung des Webseiten...
Zuerst: <abbr> oder <acronym> Diese be...
Inhaltsverzeichnis 1. Schnittstelle zusammenführe...
Die Anzeige ohne Effektbild ist nur leeres Gerede...
MySQL 5.7-Version: Methode 1: Verwenden Sie den B...
Ich habe kürzlich an einer Popup-Anzeige gearbeite...
Xiaobai zeichnet die Installation von vmtools auf...
Der Standard-SSH-Remote-Port in Linux ist 22. Man...
Inhaltsverzeichnis Überblick Virtueller Dom Prinz...
Inhaltsverzeichnis Globales Objekt Globale Objekt...
Inhaltsverzeichnis Einführung Installieren Anzeig...
Inhaltsverzeichnis Die dynamischen Partikeleffekt...
Inhaltsverzeichnis 1. Elementversatzserie 2. Elem...