Heim > Datenbank > MySQL-Tutorial > Hauptteil

Anweisung MySQL löschen

PHPz
Freigeben: 2023-05-11 22:07:38
Original
1217 Leute haben es durchsucht

In MySQL ist die Löschanweisung ein Befehl zum Löschen von Datensätzen aus der Datenbank. Es kann uns helfen, nutzlose Datensätze in der Datenbank zu bereinigen, um Daten effektiver zu verwalten. Die Löschanweisung von MySQL ist sehr flexibel und kann verschiedene Syntaxen und Optionen verwenden, um verschiedene Löschvorgänge durchzuführen. In diesem Artikel werfen wir einen genaueren Blick auf diese Optionen und wie man Löschanweisungen richtig verwendet.

Grundlegende Syntax

Die Grundsyntax der Löschanweisung von MySQL lautet wie folgt:

DELETE FROM table_name WHERE condition;
Nach dem Login kopieren

Wobei:

  • table_name gibt den Namen der Tabelle an, in der Daten gelöscht werden sollen. table_name 指定要删除数据的表名。
  • condition 是一个可选的参数,用于指定要删除的记录。如果省略此参数,则将删除表中所有记录。

示例:

假设我们有一个名为“students”的表,包含如下数据:

idnameagegender
1Alice20Female
2Bob22Male
3Cindy18Female
4David21Male

要删除这个表中所有年龄小于20岁的学生记录,可以使用以下命令:

DELETE FROM students WHERE age < 20;
Nach dem Login kopieren

执行删除操作后,该表的内容将变为:

idnameagegender
1Alice20Female
2Bob22Male
4David21Male

使用TRUNCATE语句快速删除表中所有数据

在某些情况下,我们可能需要快速清空一个表中的所有数据,而不是仅删除一部分。为此,MySQL提供了一个称为TRUNCATE的语句,可以在一次操作中完全删除表中的所有数据。TRUNCATE比DELETE语句更快,因为它可以直接删除表中的数据,而不需要记录日志,因此也不需要回滚。

TRUNCATE语句的语法如下所示:

TRUNCATE table_name;
Nach dem Login kopieren

示例:

要快速清空前面提到的“students”表中的所有数据,可以使用以下命令:

TRUNCATE students;
Nach dem Login kopieren

执行后,该表将不再包含任何数据。

使用LIMIT语句控制删除的行数

在删除数据时,有时我们只想删除表中的一定数量的行,而不是全部删除。这个时候就可以使用LIMIT语句来指定要删除的行数。LIMIT语句与SELECT语句类似,可以将其添加到DELETE语句中,以控制删除的行数。

LIMIT语句的语法如下所示:

DELETE FROM table_name WHERE condition LIMIT number;
Nach dem Login kopieren

其中:

  • table_namecondition 与前面介绍的一样。
  • number
  • condition ist ein optionaler Parameter, der zur Angabe der zu löschenden Datensätze verwendet wird. Wenn dieser Parameter weggelassen wird, werden alle Datensätze in der Tabelle gelöscht.

Beispiel:

Angenommen, wir haben eine Tabelle mit dem Namen „Studenten“ mit Daten wie diesen: IDNameAlterGeschlecht1 Alice 20Weiblich2Bob22Männlich3Cindy18Weiblich4 David21Männlich
DELETE FROM orders ORDER BY amount DESC LIMIT 3;
Nach dem Login kopieren
id
An Wenn Sie alle Datensätze von Schülern unter 20 Jahren in dieser Tabelle löschen möchten, können Sie den folgenden Befehl verwenden: Nach dem Ausführen des Löschvorgangs wird der Inhalt der Tabelle wie folgt aussehen:

Name

Alter

Geschlecht1Alice20Weiblich2Bob22Männlich4 David21Männlich

Verwenden Sie die TRUNCATE-Anweisung, um schnell alle Daten in einer Tabelle zu löschen

In manchen Fällen müssen wir möglicherweise schnell alle Daten in einer Tabelle löschen, anstatt nur einen Teil davon zu löschen. Zu diesem Zweck stellt MySQL eine Anweisung namens TRUNCATE zur Verfügung, mit der alle Daten in der Tabelle in einem Vorgang vollständig gelöscht werden können. TRUNCATE ist schneller als die DELETE-Anweisung, da es Daten in der Tabelle direkt ohne Protokollierung löscht und daher kein Rollback erforderlich ist.

Die Syntax der TRUNCATE-Anweisung lautet wie folgt:

CREATE TABLE customers (
  id INT PRIMARY KEY,
  name VARCHAR(50)
);

CREATE TABLE orders (
  id INT PRIMARY KEY,
  customer_id INT,
  order_date DATE,
  amount DECIMAL(10, 2),
  FOREIGN KEY (customer_id) REFERENCES customers(id) ON DELETE CASCADE
);
Nach dem Login kopieren

Beispiel:

Um schnell alle Daten in der zuvor erwähnten Tabelle „Studenten“ zu löschen, können Sie den folgenden Befehl verwenden:

DELETE FROM customers WHERE id = 3;
Nach dem Login kopieren
Nach der Ausführung wird die Tabelle gelöscht keine Daten mehr enthalten.

Verwenden Sie die LIMIT-Anweisung, um die Anzahl der gelöschten Zeilen zu steuern.

Beim Löschen von Daten möchten wir manchmal nur eine bestimmte Anzahl von Zeilen in der Tabelle löschen, anstatt sie alle zu löschen. Zu diesem Zeitpunkt können Sie die LIMIT-Anweisung verwenden, um die Anzahl der zu löschenden Zeilen anzugeben. Die LIMIT-Anweisung ähnelt der SELECT-Anweisung und kann zur DELETE-Anweisung hinzugefügt werden, um die Anzahl der gelöschten Zeilen zu steuern. Die Syntax der 🎜🎜LIMIT-Anweisung lautet wie folgt: 🎜rrreee🎜wobei: 🎜🎜🎜table_name und condition die gleichen sind wie zuvor eingeführt. 🎜🎜number gibt die Anzahl der zu löschenden Zeilen an. 🎜🎜🎜Beispiel: 🎜🎜Angenommen, wir haben eine Tabelle namens „Bestellungen“ mit Daten wie diesen: 🎜🎜🎜🎜🎜id🎜🎜order_date🎜🎜customer🎜🎜amount🎜🎜🎜🎜🎜🎜1 🎜 🎜2020-01-01 🎜🎜Alice🎜🎜100🎜🎜🎜🎜2🎜🎜2020-01-02🎜🎜Bob🎜🎜200🎜🎜🎜🎜3🎜🎜2020-01-03🎜. 🎜 Cindy🎜🎜150🎜🎜🎜🎜4 🎜🎜2020 -01-04🎜🎜david🎜🎜300🎜🎜🎜🎜5🎜🎜2020-01-05🎜🎜elizabeth🎜🎜250🎜🎜🎜🎜🎜, um "Bestellungen" zu löschen Die drei Bestellungen mit den höchsten Beträgen in der Tabelle, Sie Sie können den folgenden Befehl verwenden: 🎜rrreee🎜Nach der Ausführung wird die Tabelle zu: 🎜🎜🎜🎜🎜id🎜🎜order_date🎜🎜customer🎜🎜amount🎜🎜🎜🎜🎜🎜1🎜🎜2020-01-0 1 🎜🎜Alice🎜 100 . Mit Fremdschlüsseln können wir gemeinsame Abfragen und Löschungen zwischen Tabellen implementieren, indem wir Verbindungen zwischen Tabellen herstellen. Wenn wir bestimmte Datensätze in einer Tabelle löschen möchten und auch zugehörige Datensätze in anderen damit verbundenen Tabellen löschen müssen, können wir die Option CASCADE verwenden. 🎜🎜Die CASCADE-Option ist eine häufig verwendete Kaskadenlöschoperation in MySQL. Es findet automatisch andere Tabellen, die sich auf Datensätze in der angegebenen Tabelle beziehen, und löscht alle zugehörigen Datensätze in diesen Tabellen. Die CASCADE-Option kann nur in Kombination mit Fremdschlüsseln verwendet werden, um die Aktion anzugeben, die beim Ausführen eines Löschvorgangs ausgeführt werden soll. 🎜🎜Für die folgende Tabellenstruktur: 🎜rrreee🎜Um den Datensatz mit der ID 3 in der Tabelle „Kunden“ und alle Datensätze in der zugehörigen Tabelle „Bestellungen“ zu löschen, können Sie den folgenden Befehl verwenden: 🎜rrreee🎜Der Löschvorgang wird ausgeführt Löschen Sie den Datensatz mit ID 3-Kundendatensätzen und löschen Sie automatisch alle zugehörigen Bestelldatensätze. 🎜🎜Zusammenfassung🎜🎜Wie oben erwähnt, können Datensätze in der Datenbank einfach mit der Löschanweisung von MySQL gelöscht werden. Die grundlegende Syntax von Löschanweisungen umfasst DELETE-, TRUNCATE- und LIMIT-Anweisungen. Durch die flexible Nutzung dieser Möglichkeiten können Datenvorgänge schnell und sicher abgewickelt werden. Hinweis: Überprüfen Sie bei der Verwendung von Löschanweisungen sorgfältig die Bedingungen und Optionen, um zu vermeiden, dass wichtige Daten versehentlich gelöscht werden oder verloren gehen. 🎜

Das obige ist der detaillierte Inhalt vonAnweisung MySQL löschen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage