MySQL – Löschsyntax
Syntax für eine einzelne Tabelle:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]
Syntax für mehrere Tabellen:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] tbl_name[.*] [, tbl_name[.*] ...] FROM table_references [WHERE where_definition]
oder:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name[.*] [, tbl_name[.*] ...] USING table_references [WHERE where_definition]
Einige Zeilen in tbl_name erfüllen die von where_definition angegebenen Anforderungen Zustand. Mit DELETE werden diese Zeilen gelöscht und die Anzahl der gelöschten Datensätze zurückgegeben.
Wenn Sie eine DELETE-Anweisung ohne WHERE-Klausel schreiben, werden alle Zeilen gelöscht. Wenn Sie die Anzahl der gelöschten Zeilen nicht wissen möchten, gibt es einen schnelleren Weg, nämlich die Verwendung von TRUNCATE TABLE.
Wenn die von Ihnen gelöschte Zeile den Maximalwert für die Spalte AUTO_INCREMENT enthält, wird dieser Wert in der BDB-Tabelle wiederverwendet, jedoch nicht in der MyISAM-Tabelle oder der InnoDB-Tabelle. Wenn Sie DELETE FROM tbl_name (ohne WHERE-Klausel) im AUTOCOMMIT-Modus verwenden, um alle Zeilen in einer Tabelle zu löschen, wird die Reihenfolge für alle Tabellentypen (außer InnoDB und MyISAM) neu angeordnet.
Für MyISAM- und BDB-Tabellen können Sie die sekundäre Spalte AUTO_INCREMENT in einem mehrspaltigen Schlüsselwort angeben. In diesem Fall wird der am Anfang der Sequenz entfernte Wert erneut verwendet, auch für MyISAM-Tabellen.
DELETE-Anweisung unterstützt die folgenden Modifikatoren:
· Wenn Sie LOW_PRIORITY angeben, wird die Ausführung von DELETE verzögert, bis kein anderer Client diese Tabelle liest.
· Wenn Sie bei MyISAM-Tabellen das Schlüsselwort QUICK verwenden, führt die Speicher-Engine die Indexendknoten während des Löschvorgangs nicht zusammen, was einige Arten von Löschvorgängen beschleunigen kann.
· Während des Löschvorgangs von Zeilen bewirkt das Schlüsselwort IGNORE, dass MySQL alle Fehler ignoriert. (Fehler, die während der Analysephase auftreten, werden wie gewohnt behandelt.) Fehler, die aufgrund der Verwendung dieser Option ignoriert werden, werden als Warnungen zurückgegeben.
In MyISAM-Tabellen werden gelöschte Datensätze in einer verknüpften Liste beibehalten und nachfolgende INSERT-Vorgänge verwenden den alten Datensatzspeicherort wieder. Um ungenutzten Speicherplatz wiederzuverwenden und die Dateigröße zu reduzieren, verwenden Sie die Anweisung OPTIMIZE TABLE oder die Anwendung myisamchk, um die Tabelle neu zu organisieren. OPTIMIZE TABLE ist einfacher, aber myisamchk ist schneller.
Der QUICK-Modifikator beeinflusst, ob die Indexendknoten während des Löschvorgangs zusammengeführt werden. DELETE QUICK ist am nützlichsten, wenn der Indexwert für die gelöschte Zeile durch einen ähnlichen Indexwert aus einer später eingefügten Zeile ersetzt wird. In diesem Fall werden die durch die gelöschten Werte entstandenen Lücken wiederverwendet.
Wenn der nicht vollständige Indexblock einen bestimmten Bereich von Indexwerten umfasst, erfolgt eine neue Einfügung. DELETE QUICK hat keine Auswirkung, wenn der gelöschte Wert zu einem unterfüllten Indexblock führt. In diesem Fall kann die Verwendung von QUICK dazu führen, dass Speicherplatz in ungenutzten Indizes verschwendet wird. Das Folgende ist ein Beispiel für diese Situation:
1. Erstellen Sie eine Tabelle, die die indizierte AUTO_INCREMENT-Spalte enthält.
2. Fügen Sie viele Datensätze in die Tabelle ein. Jede Einfügung erzeugt einen Indexwert, der zum oberen Ende des Index hinzugefügt wird.
3. Verwenden Sie DELETE QUICK, um eine Gruppe von Datensätzen am unteren Ende der Spalte zu löschen.
In diesem Fall werden die Indexblöcke, die sich auf die gelöschten Indexwerte beziehen, unterfüllt, aber aufgrund der Verwendung von QUICK werden diese Indexblöcke nicht mit anderen Indexblöcken zusammengeführt. Beim Einfügen neuer Werte bleiben diese Indexblöcke unterfüllt, da die neuen Datensätze keine Indexwerte innerhalb des gelöschten Bereichs enthalten. Selbst wenn Sie später DELETE verwenden, ohne QUICK einzubeziehen, bleiben diese Indexblöcke weiterhin ungefüllt, es sei denn, einige der gelöschten Indexwerte befinden sich zufällig in oder neben diesen ungefüllten Blöcken. Wenn Sie in diesen Fällen ungenutzten Indexspeicherplatz wiederverwenden möchten, verwenden Sie OPTIMIZE TABLE.
Wenn Sie vorhaben, viele Zeilen aus einer Tabelle zu löschen, kann die Verwendung von DELETE QUICK in Verbindung mit OPTIMIZE TABLE die Arbeit beschleunigen. Dadurch wird eine Neuindizierung durchgeführt, anstatt eine große Anzahl von Indexblock-Zusammenführungsvorgängen durchzuführen.
MySQLs einzige LIMIT row_count-Option für DELETE wird verwendet, um dem Server die maximale Anzahl von Zeilen mitzuteilen, die gelöscht werden können, bevor der Steuerbefehl an den Client zurückgegeben wird. Diese Option wird verwendet, um sicherzustellen, dass eine DELETE-Anweisung nicht zu viel Zeit in Anspruch nimmt. Sie können die DELETE-Anweisung einfach wiederholen, bis die Anzahl der relevanten Zeilen kleiner als der LIMIT-Wert ist.
Wenn die DELETE-Anweisung eine ORDER BY-Klausel enthält, werden Zeilen in der in der Klausel angegebenen Reihenfolge gelöscht. Diese Klausel funktioniert nur in Verbindung mit LIMIT. Beispielsweise wird die folgende Klausel verwendet, um Zeilen zu finden, die der WHERE-Klausel entsprechen, timestamp_column zur Klassifizierung zu verwenden und die erste (älteste) Zeile zu löschen:
DELETE FROM somelog WHERE user = 'jcole' ORDER BY timestamp_column LIMIT 1;
Sie können mehrere DELETE-Anweisungen in einer Tabelle angeben. Löschen Sie Zeilen aus einer oder mehreren Tabellen basierend auf bestimmten Bedingungen in mehreren Tabellen. Allerdings können Sie ORDER BY oder LIMIT nicht in einer DELETE-Anweisung mit mehreren Tabellen verwenden.
Der Abschnitt „table_references“ listet die in der Union enthaltenen Tabellen auf.
Bei der ersten Syntax werden nur die entsprechenden Zeilen in der Tabelle gelöscht, die vor der FROM-Klausel aufgeführt sind. Bei der zweiten Syntax werden nur die entsprechenden Zeilen in der Tabelle gelöscht, die in der FROM-Klausel (vor der USING-Klausel) aufgeführt sind. Die Funktion besteht darin, dass Sie Zeilen in vielen Tabellen gleichzeitig löschen und andere Tabellen zum Suchen verwenden können:
DELETE t1, t2 FROM t1, t2, t3 WHERE t1.id=t2.id AND t2.id=t3.id;
oder:
DELETE FROM t1, t2 USING t1, t2, t3 WHERE t1.id=t2.id AND t2.id=t3.id;
Bei der Suche nach zu löschenden Zeilen Diese Anweisungen verwenden alle drei Tabellen, löschen jedoch nur die entsprechenden Zeilen aus den Tabellen t1 und t2.
Das obige Beispiel zeigt einen internen Join mit dem Komma-Operator, aber die DELETE-Anweisung für mehrere Tabellen kann alle in der SELECT-Anweisung zulässigen Join-Typen verwenden, z. B. LEFT JOIN.
本语法允许在名称后面加.*,以便与Access相容。
如果您使用的多表DELETE语句包括InnoDB表,并且这些表受外键的限制,则MySQL优化程序会对表进行处理,改变原来的从属关系。在这种情况下,该语句出现错误并返回到前面的步骤。要避免此错误,您应该从单一表中删除,并依靠InnoDB提供的ON DELETE功能,对其它表进行相应的修改。
注释:当引用表名称时,您必须使用别名(如果已给定):
DELETE t1 FROM test AS t1, test2 WHERE ...
进行多表删除时支持跨数据库删除,但是在此情况下,您在引用表时不能使用别名。举例说明:
DELETE test1.tmp1, test2.tmp2 FROM test1.tmp1, test2.tmp2 WHERE ...
目前,您不能从一个表中删除,同时又在子查询中从同一个表中选择。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



MySQL ist ein Open Source Relational Database Management System. 1) Datenbank und Tabellen erstellen: Verwenden Sie die Befehle erstellte und creatEtable. 2) Grundlegende Vorgänge: Einfügen, aktualisieren, löschen und auswählen. 3) Fortgeschrittene Operationen: Join-, Unterabfrage- und Transaktionsverarbeitung. 4) Debugging -Fähigkeiten: Syntax, Datentyp und Berechtigungen überprüfen. 5) Optimierungsvorschläge: Verwenden Sie Indizes, vermeiden Sie ausgewählt* und verwenden Sie Transaktionen.

Sie können PhpMyAdmin in den folgenden Schritten öffnen: 1. Melden Sie sich beim Website -Bedienfeld an; 2. Finden und klicken Sie auf das Symbol phpmyadmin. 3. Geben Sie MySQL -Anmeldeinformationen ein; 4. Klicken Sie auf "Login".

MySQL ist ein Open Source Relational Database Management -System, das hauptsächlich zum schnellen und zuverlässigen Speicher und Abrufen von Daten verwendet wird. Sein Arbeitsprinzip umfasst Kundenanfragen, Abfragebedingungen, Ausführung von Abfragen und Rückgabergebnissen. Beispiele für die Nutzung sind das Erstellen von Tabellen, das Einsetzen und Abfragen von Daten sowie erweiterte Funktionen wie Join -Operationen. Häufige Fehler umfassen SQL -Syntax, Datentypen und Berechtigungen sowie Optimierungsvorschläge umfassen die Verwendung von Indizes, optimierte Abfragen und die Partitionierung von Tabellen.

MySQL wird für seine Leistung, Zuverlässigkeit, Benutzerfreundlichkeit und Unterstützung der Gemeinschaft ausgewählt. 1.MYSQL bietet effiziente Datenspeicher- und Abruffunktionen, die mehrere Datentypen und erweiterte Abfragevorgänge unterstützen. 2. Übernehmen Sie die Architektur der Client-Server und mehrere Speichermotoren, um die Transaktion und die Abfrageoptimierung zu unterstützen. 3. Einfach zu bedienend unterstützt eine Vielzahl von Betriebssystemen und Programmiersprachen. V.

Redis verwendet eine einzelne Gewindearchitektur, um hohe Leistung, Einfachheit und Konsistenz zu bieten. Es wird E/A-Multiplexing, Ereignisschleifen, nicht blockierende E/A und gemeinsame Speicher verwendet, um die Parallelität zu verbessern, jedoch mit Einschränkungen von Gleichzeitbeschränkungen, einem einzelnen Ausfallpunkt und ungeeigneter Schreib-intensiver Workloads.

Die Position von MySQL in Datenbanken und Programmierung ist sehr wichtig. Es handelt sich um ein Open -Source -Verwaltungssystem für relationale Datenbankverwaltung, das in verschiedenen Anwendungsszenarien häufig verwendet wird. 1) MySQL bietet effiziente Datenspeicher-, Organisations- und Abruffunktionen und unterstützt Systeme für Web-, Mobil- und Unternehmensebene. 2) Es verwendet eine Client-Server-Architektur, unterstützt mehrere Speichermotoren und Indexoptimierung. 3) Zu den grundlegenden Verwendungen gehören das Erstellen von Tabellen und das Einfügen von Daten, und erweiterte Verwendungen beinhalten Multi-Table-Verknüpfungen und komplexe Abfragen. 4) Häufig gestellte Fragen wie SQL -Syntaxfehler und Leistungsprobleme können durch den Befehl erklären und langsam abfragen. 5) Die Leistungsoptimierungsmethoden umfassen die rationale Verwendung von Indizes, eine optimierte Abfrage und die Verwendung von Caches. Zu den Best Practices gehört die Verwendung von Transaktionen und vorbereiteten Staten

MySQL und SQL sind wesentliche Fähigkeiten für Entwickler. 1.MYSQL ist ein Open -Source -Relational Database Management -System, und SQL ist die Standardsprache, die zum Verwalten und Betrieb von Datenbanken verwendet wird. 2.MYSQL unterstützt mehrere Speichermotoren durch effiziente Datenspeicher- und Abruffunktionen, und SQL vervollständigt komplexe Datenoperationen durch einfache Aussagen. 3. Beispiele für die Nutzung sind grundlegende Abfragen und fortgeschrittene Abfragen wie Filterung und Sortierung nach Zustand. 4. Häufige Fehler umfassen Syntaxfehler und Leistungsprobleme, die durch Überprüfung von SQL -Anweisungen und Verwendung von Erklärungsbefehlen optimiert werden können. 5. Leistungsoptimierungstechniken umfassen die Verwendung von Indizes, die Vermeidung vollständiger Tabellenscanning, Optimierung von Join -Operationen und Verbesserung der Code -Lesbarkeit.

Das Erstellen einer SQL -Datenbank umfasst 10 Schritte: Auswählen von DBMs; Installation von DBMs; Erstellen einer Datenbank; Erstellen einer Tabelle; Daten einfügen; Daten abrufen; Daten aktualisieren; Daten löschen; Benutzer verwalten; Sichern der Datenbank.
