In MySQL können Sie den Befehl „DELETE FROM
[WHERE-Klausel] [ORDER BY-Klausel] [LIMIT-Klausel]“ verwenden, um Daten in einer einzelnen Tabelle zu löschen Name“ löscht alle Daten in der Datentabelle und leert die Tabelle.
Verwenden Sie die DELETE-Anweisung, um Daten in einer einzelnen Tabelle zu löschen.
In MySQL können Sie die DELETE-Anweisung verwenden, um eine oder mehrere Datenzeilen in einer Tabelle zu löschen.
Das Syntaxformat ist:
DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子句]Nach dem Login kopierenDie Syntaxbeschreibung lautet wie folgt:
: Geben Sie den Namen der Tabelle an, in der Daten gelöscht werden sollen. ORDER BY-Klausel: Optional. Gibt an, dass beim Löschen Zeilen in der Tabelle in der in der Klausel angegebenen Reihenfolge gelöscht werden.
WHERE-Klausel: Optional. Gibt an, dass die Löschbedingungen für den Löschvorgang begrenzt sind. Wenn diese Klausel weggelassen wird, bedeutet dies, dass alle Zeilen in der Tabelle gelöscht werden.
LIMIT-Klausel: Optional. Wird verwendet, um dem Server die maximale Anzahl der zu löschenden Zeilen mitzuteilen, bevor der Steuerbefehl an den Client zurückgegeben wird.
Hinweis: Wenn die WHERE-Bedingung nicht verwendet wird, werden alle Daten gelöscht.
Beispiel: Alle Daten in der Tabelle löschen
Alle Daten in der Tabelle tb_courses_new löschen. Die Eingabe-SQL-Anweisung und die Ausführungsergebnisse lauten wie folgt.
mysql> DELETE FROM tb_courses_new; Query OK, 3 rows affected (0.12 sec) mysql> SELECT * FROM tb_courses_new; Empty set (0.00 sec)Nach dem Login kopierenVerwenden Sie die TRUNCATE-Anweisung, um Daten in der Datentabelle zu löschen.
Das Schlüsselwort TRUNCATE wird verwendet, um eine Tabelle vollständig zu löschen. Das Syntaxformat lautet wie folgt:
TRUNCATE [TABLE] 表名Nach dem Login kopierenDabei kann das Schlüsselwort TABLE weggelassen werden.
Beispiel
Erstellen Sie eine neue Tabelle tb_student_course, fügen Sie Daten und Abfragen ein. Die SQL-Anweisung und die Ausführungsergebnisse lauten wie folgt:
mysql> CREATE TABLE `tb_student_course` ( -> `id` int(4) NOT NULL AUTO_INCREMENT, -> `name` varchar(25) NOT NULL, -> PRIMARY KEY (`id`) -> ); Query OK, 0 rows affected (0.04 sec) mysql> INSERT INTO tb_student_course(name) VALUES ('Java'),('MySQL'),('Python'); Query OK, 3 rows affected (0.05 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> SELECT * FROM tb_student_course; +----+--------+ | id | name | +----+--------+ | 1 | Java | | 2 | MySQL | | 3 | Python | +----+--------+ 3 rows in set (0.00 sec)Nach dem Login kopierenVerwenden Sie die TRUNCATE-Anweisung, um die Datensätze in der Tabelle tb_student_course, die SQL-Anweisungen und die Ausführungsergebnisse zu löschen sind wie folgt:
mysql> TRUNCATE TABLE tb_student_course; Query OK, 0 rows affected (0.04 sec) mysql> SELECT * FROM tb_student_course; Empty set (0.00 sec)Nach dem Login kopierenTRUNCATE und DELETE Der Unterschied
Logisch gesehen hat die TRUNCATE-Anweisung die gleiche Wirkung wie die DELETE-Anweisung, in einigen Fällen gibt es jedoch Unterschiede in ihrer Verwendung.
DELETE ist eine Anweisung vom Typ DML; TRUNCATE ist eine Anweisung vom Typ DDL. Beide werden zum Löschen der Daten in der Tabelle verwendet.
DELETE löscht Datensätze Zeile für Zeile; TRUNCATE löscht direkt die ursprüngliche Tabelle und erstellt eine identische neue Tabelle, anstatt die Daten in der Tabelle Zeile für Zeile zu löschen, und führt Daten schneller aus als DELETE. Wenn Sie daher alle Datenzeilen in der Tabelle löschen müssen, versuchen Sie, die Ausführungszeit mit der TRUNCATE-Anweisung zu verkürzen.
DELETE Nach dem Löschen von Daten können die Daten mit einem Ereignis-Rollback abgerufen werden. TRUNCATE unterstützt kein Transaktions-Rollback und Daten können nach dem Löschen nicht abgerufen werden.
DELETE Nach dem Löschen von Daten setzt das System den Zähler des Auto-Inkrement-Felds nicht zurück. Nachdem TRUNCATE die Tabellendatensätze gelöscht hat, setzt das System den Zähler des Auto-Inkrement-Felds zurück.
DELETE hat einen größeren Anwendungsbereich, da es einen Teil der Daten durch Angabe von Bedingungen über die WHERE-Klausel löschen kann, während TRUNCATE die WHERE-Klausel nicht unterstützt und nur das Ganze löschen kann.
DELETE gibt die Anzahl der Zeilen mit gelöschten Daten zurück, aber TRUNCATE gibt nur 0 zurück, was bedeutungslos ist.
Zusammenfassung
Wenn die Tabelle nicht benötigt wird, verwenden Sie DROP; wenn Sie die Tabelle dennoch behalten möchten, aber alle Datensätze löschen möchten, verwenden Sie TRUNCATE; wenn Sie einige Datensätze löschen möchten, verwenden Sie DELETE.
Empfohlenes Tutorial: MySQL-Video-Tutorial
Das obige ist der detaillierte Inhalt vonWie lösche ich Daten mit dem MySQL-Befehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Verwandte Etiketten:Quelle:php.cnVorheriger Artikel:Wie kann das Problem gelöst werden, dass cmd sich nicht bei MySQL anmelden kann? Nächster Artikel:Unterstützt MySQL gerne?Erklärung dieser WebsiteDer 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.cnNeueste Artikel des Autors
2023-04-26 17:59:18 2023-04-26 17:47:48 2023-04-26 17:41:42 2023-04-26 17:37:05 2023-04-26 17:31:25 2023-04-26 17:27:32 2023-04-25 19:57:58 2023-04-25 19:53:11 2023-04-25 19:49:11 2023-04-25 19:41:54Aktuelle AusgabenWie gruppiere und zähle ich in MySQL? Ich versuche, eine Abfrage zu schreiben, die die Gesamtzahl der nicht gelöschten Nachricht...Aus 2024-04-06 18:30:1701353verwandte ThemenMehr>
- MySQL ändert den Namen der Datentabelle
- MySQL erstellt eine gespeicherte Prozedur
- Der Unterschied zwischen Mongodb und MySQL
- So überprüfen Sie, ob das MySQL-Passwort vergessen wurde
- MySQL-Datenbank erstellen
- MySQL-Standard-Transaktionsisolationsstufe
- Der Unterschied zwischen SQL Server und MySQL
- mysqlPasswort vergessen
Beliebte EmpfehlungenBeliebte TutorialsMehr>
Old Boy MySQL-Video-Tutorial627827 Neueste DownloadsMehr>