Wie lösche ich Daten aus der Tabelle in der Datenbank?

Es gibt drei Möglichkeiten, Daten in einer Datenbanktabelle zu löschen:

1. Tabellenname löschen

drop table hl_fly_demand

2. Tabellennamen abschneiden

truncate  table hl_fly_demand

3. Aus Tabellenname löschen, wobei Spaltenname = Wert ist

delete from hl_fly_demand where status='temp'

Der Unterschied zwischen Löschen, Abschneiden und Löschen

1. Drop (Tabelle löschen): Inhalte und Definitionen löschen, um Speicherplatz freizugeben. Einfach ausgedrückt: Löschen Sie die gesamte Tabelle. Es ist nicht möglich, in Zukunft Daten hinzuzufügen, es sei denn, eine neue Tabelle wird hinzugefügt.

Die Drop-Anweisung löscht die Einschränkungen und Triggerindizes, von denen die Tabellenstruktur abhängt; die gespeicherten Prozeduren/Funktionen, die von der Tabelle abhängen, bleiben erhalten, ihr Status wird jedoch: ungültig.

2. Abschneiden (die Daten in der Tabelle löschen): Löschen Sie den Inhalt und geben Sie Platz frei, aber löschen Sie nicht die Definition (behalten Sie die Datenstruktur der Tabelle bei). Im Gegensatz zum Drop werden lediglich die Tabellendaten gelöscht.

Hinweis: Durch das Abschneiden können keine Zeilendaten gelöscht werden. Zum Löschen muss die Tabelle geleert werden.

3. delete (Daten in der Tabelle löschen): Mit der Löschanweisung werden Zeilen in der Tabelle gelöscht. Der Löschvorgang der Löschanweisung besteht darin, jeweils eine Zeile aus der Tabelle zu löschen. Gleichzeitig wird der Löschvorgang der Zeile im Protokoll als Transaktionsdatensatz für den Rollback-Vorgang gespeichert.

Abschneiden und Löschen ohne Wo: Nur die Daten löschen, nicht jedoch die Tabellenstruktur (Definition)

4. Tabelle abschneiden löscht alle Zeilen in der Tabelle, aber die Tabellenstruktur und ihre Spalten, Einschränkungen, Indizes usw. bleiben unverändert. Der zum Identifizieren neuer Zeilen verwendete Zähler wird auf den Startwert dieser Spalte zurückgesetzt. Wenn Sie den Wert der Identitätsanzahl beibehalten möchten, verwenden Sie stattdessen „delete“.

Wenn Sie eine Tabellendefinition und ihre Daten löschen möchten, verwenden Sie die Drop-Table-Anweisung.

5. Für Tabellen, auf die durch Fremdschlüsseleinschränkungen verwiesen wird, können Sie „Truncate Table“ nicht verwenden. Verwenden Sie stattdessen die „Delete“-Anweisung ohne eine „Where“-Klausel. Da die Tabelle abschneiden protokolliert wird, können keine Trigger aktiviert werden.

6. Ausführungsgeschwindigkeit, im Allgemeinen: Löschen> Abschneiden> Löschen.

7. Die Löschanweisung ist eine Datenbankoperationssprache (DML). Dieser Vorgang wird im Rollback-Segment platziert und wird erst wirksam, wenn die Transaktion übermittelt wird. Wenn ein entsprechender Auslöser vorhanden ist, wird er während der Ausführung ausgelöst.

Truncate und Drop sind Datenbankdefinitionssprachen (ddl). Die Vorgänge werden sofort wirksam. Die Originaldaten werden nicht im Rollback-Segment platziert, können nicht zurückgesetzt werden und der Vorgang löst keine Trigger aus.

おすすめ

転載: blog.csdn.net/weixin_54514751/article/details/126526446