MySQL-Tabelle löschen

Es ist sehr einfach, eine Tabelle in MySQL zu löschen, aber Sie müssen sehr vorsichtig sein, wenn Sie den DROP TABLE-Vorgang ausführen, denn alle Daten verschwinden, nachdem der DROP-Befehl ausgeführt wurde.

Syntax

Im Folgenden finden Sie die allgemeine Syntax zum Löschen einer MySQL-Tabelle:

DROP TABLE table_name;     -- 直接删除表,不检查是否存在

oder

DROP TABLE [IF EXISTS] table_name;  -- 会检查是否存在,如果存在则删除

Parameter description:

  • table_nameIst der Name der Tabelle, die gelöscht werden soll.
  • IF EXISTSIst eine optionale Klausel, die angibt, dass der Löschvorgang nur ausgeführt wird, wenn die Tabelle existiert, um Fehler zu vermeiden, die durch die nicht vorhandene Tabelle verursacht werden.
-- 删除表,如果存在的话
DROP TABLE IF EXISTS mytable;

-- 直接删除表,不检查是否存在
DROP TABLE mytable;

Bitte ersetzen Siemytabledurch den Namen der Tabelle, die Sie löschen möchten.

Wenn Sie nur alle Daten in der Tabelle löschen, aber die Tabellenstruktur beibehalten möchten, können Sie die Anweisung TRUNCATE TABLE verwenden:

TRUNCATE TABLE table_name;

Dadurch werden alle Daten in der Tabelle gelöscht, aber die Tabelle selbst wird nicht gelöscht.

Notizen:

  • Daten sichern: Bevor Sie die Tabelle löschen, stellen Sie sicher, dass Sie die Daten gesichert haben, falls Sie sie benötigen.
  • Fremdschlüssel-Constraints: Wenn die Tabelle Fremdschlüssel-Constraints mit anderen Tabellen hat, müssen Sie möglicherweise zuerst die Fremdschlüssel-Constraints löschen oder sicherstellen, dass die Abhängigkeiten ordnungsgemäß behandelt werden.

Beispiel

Das folgende Beispiel löscht die Datentabelle example_tbl:

Beispiel

root@host# mysql -u root -p
Passwort eingeben:*******
mysql> USE EXAMPLE;
Datenbank geändert
mysql> DROP TABLE example_tbl;
Abfrage OK, 0 Zeilen betroffen (0.8 sec)
mysql>

Verwenden eines PHP-Skripts zum Löschen einer Tabelle

PHP verwendet die Funktion mysqli_query, um eine MySQL-Datentabelle zu löschen.

Diese Funktion hat zwei Parameter und gibt bei erfolgreicher Ausführung TRUE zurück, andernfalls gibt sie FALSE zurück.

Syntax

mysqli_query(connection,query,resultmode);
Parameter Beschreibung
Verbindung Erforderlich. Gibt die zu verwendende MySQL-Verbindung an.
Abfrage Erforderlich. Gibt die Abfragezeichenfolge an.
resultmode

Optional. Eine Konstante. Kann einen der folgenden Werte annehmen:

  • MYSQLI_USE_RESULT (verwende dies, wenn du eine große Datenmenge abrufen musst)
  • MYSQLI_STORE_RESULT (Standard)

Beispiel

Das folgende Beispiel verwendet ein PHP-Skript, um die Datentabelle example_tbl zu löschen:

Datenbank löschen

<?php $dbhost = 'localhost'; //Hostadresse des MySQL-Servers $dbuser = 'root'; //MySQL-Benutzername $dbpass = '123456'; //Passwort für den MySQL-Benutzernamen $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Verbindung fehlgeschlagen:' . mysqli_error($conn)); } echo 'Verbindung erfolgreich<br />'; $sql = "DROP TABLE example_tbl"; mysqli_select_db( $conn, 'EXAMPLE' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('Fehler beim Löschen der Datentabelle:' . mysqli_error($conn)); } echo "Datentabelle erfolgreich gelöscht\n"; mysqli_close($conn); ?>

Nach erfolgreicher Ausführung verwenden wir den folgenden Befehl, und die Tabelle example_tbl wird nicht mehr sichtbar sein:

mysql> show tables;
Empty set (0.01 sec)
Weitere Erweiterungen