Heim >Datenbank >MySQL-Tutorial >Wie lösche ich Daten mit dem MySQL-Befehl?
In MySQL können Sie den Befehl „DELETE FROM ccc43248daffbac9770dee47fdaff697 [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.
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 子句]
Die Syntaxbeschreibung lautet wie folgt:
2a59fb221d0bc3b07e1e43cec3d4767d: 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)
Das Schlüsselwort TRUNCATE wird verwendet, um eine Tabelle vollständig zu löschen. Das Syntaxformat lautet wie folgt:
TRUNCATE [TABLE] 表名
Dabei 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)
Verwenden 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)
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.
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!