Heim Datenbank MySQL-Tutorial MySQL – Löschsyntax

MySQL – Löschsyntax

Nov 23, 2016 am 10:30 AM
delete mysql

Syntax für eine einzelne Tabelle:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
    [WHERE where_definition]
    [ORDER BY ...]
    [LIMIT row_count]
Nach dem Login kopieren

Syntax für mehrere Tabellen:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
    tbl_name[.*] [, tbl_name[.*] ...]
    FROM table_references
    [WHERE where_definition]
Nach dem Login kopieren

oder:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
    FROM tbl_name[.*] [, tbl_name[.*] ...]
    USING table_references
    [WHERE where_definition]
Nach dem Login kopieren

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;
Nach dem Login kopieren

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;
Nach dem Login kopieren

oder:

DELETE FROM t1, t2 USING t1, t2, t3 WHERE t1.id=t2.id AND t2.id=t3.id;
Nach dem Login kopieren

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 ...
Nach dem Login kopieren

进行多表删除时支持跨数据库删除,但是在此情况下,您在引用表时不能使用别名。举例说明:

DELETE test1.tmp1, test2.tmp2 FROM test1.tmp1, test2.tmp2 WHERE ...
Nach dem Login kopieren

目前,您不能从一个表中删除,同时又在子查询中从同一个表中选择。


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

MySQL: Einfache Konzepte für einfaches Lernen MySQL: Einfache Konzepte für einfaches Lernen Apr 10, 2025 am 09:29 AM

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.

Wie man phpmyadmin öffnet Wie man phpmyadmin öffnet Apr 10, 2025 pm 10:51 PM

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: Eine Einführung in die beliebteste Datenbank der Welt MySQL: Eine Einführung in die beliebteste Datenbank der Welt Apr 12, 2025 am 12:18 AM

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.

Warum MySQL verwenden? Vorteile und Vorteile Warum MySQL verwenden? Vorteile und Vorteile Apr 12, 2025 am 12:17 AM

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.

So verwenden Sie ein einzelnes Gewinde -Redis So verwenden Sie ein einzelnes Gewinde -Redis Apr 10, 2025 pm 07:12 PM

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.

Mysqls Platz: Datenbanken und Programmierung Mysqls Platz: Datenbanken und Programmierung Apr 13, 2025 am 12:18 AM

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: Wesentliche Fähigkeiten für Entwickler MySQL und SQL: Wesentliche Fähigkeiten für Entwickler Apr 10, 2025 am 09:30 AM

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.

So erstellen Sie eine SQL -Datenbank So erstellen Sie eine SQL -Datenbank Apr 09, 2025 pm 04:24 PM

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.

See all articles