Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL DROP-TABELLE

Manchmal müssen Sie möglicherweise eine Tabelle aus der Datenbank in MySQL löschen. Sie können dies ganz einfach mit dem MySQL-Befehl DROP TABLE tun. So löschen Sie eine Tabelle in MySQL.

Wie man eine Tabelle in MySQL löscht

Hier sind die Schritte zum Löschen einer Tabelle in MySQL. Wir werden die MySQL DROP TABLE-Anweisung verwenden, um vorhandene Tabellen in einer Datenbank zu entfernen.

Hier ist die Syntax der DROP TABLE-Anweisung:

DROP [TEMPORARY] TABLE [IF EXISTS] Tabellenname [, Tabellenname] ...[RESTRICT | KASKADE]

Die DROP TABLE-Anweisung kann zum Entfernen einer oder mehrerer Datenbanktabellen verwendet werden.

Das Schlüsselwort TEMPORARY löscht nur temporäre Tabellen und verhindert das Löschen nicht-temporärer Tabellen.

Das Schlüsselwort IF EXISTS löscht eine Tabelle nur dann, wenn sie existiert.

Bitte beachten Sie, dass Sie DROP TABLE-Privilegien haben müssen, um eine MySQL-Tabelle löschen zu können.

Bonus-Lesung:So erhalten Sie Datensätze von heute in MySQL

MySQL DROP TABLE zum Löschen einer einzelnen Tabelle

Angenommen, Sie haben die folgende Tabelle.

mysql> Tabellenbestellungen erstellen (order_date date, sale int);

Hier ist die MySQL DROP TABLE-Anweisung zum Löschen dieser Tabelle.

mysql> DROP TABLE-Befehle;

Wenn Sie versuchen, eine nicht vorhandene Tabelle zu löschen, erhalten Sie eine Warnung:

mysql> Tabellenaufträge löschen; FEHLER 1051 (42S02):Unbekannte Tabelle 'sample.orders'

Bonuslektüre:So erhalten Sie den ersten Datensatz in jeder Gruppe in MySQL

MySQL Drop mehrere Tabellen

Wenn Sie mehrere Tabellen table1, table2, table3 in derselben Datenbank haben, dann ist hier die MySQL DROP TABLE-Anweisung, um sie zu löschen

mysql> DROP TABLE Tabelle1, Tabelle2, Tabelle3;

Bonuslektüre:So erstellen Sie eine MySQL-Ansicht

MySQL DROP TABLE-Übereinstimmungsmuster

Wenn Sie mehrere Datenbanktabellen haben und Tabellen löschen möchten, die einem bestimmten Muster wie „Reihenfolge“ entsprechen, können Sie dafür nicht direkt die MySQL DROP TABLE-Anweisung verwenden. Beispielsweise wird der folgende Befehl NICHT FUNKTIONIEREN.

mysql> DROP TABLE wie 'order%';

Also müssen wir eine Umgehung verwenden. Angenommen, Sie haben die Tabellen Orders1, Orders2, Order3 in Ihrer Datenbank.

mysql> erstelle Tischaufträge1(order_date date, sale int);mysql> erstelle Tischaufträge2(order_date date, sale int);mysql> erstelle Tischaufträge3(order_date date, sale int);

Zuerst erstellen wir eine dynamische SQL-Abfragezeichenfolge mit darin enthaltenen Tabellennamen

SELECT CONCAT('DROP TABLE ',GROUP_CONCAT(CONCAT(@schema,'.',table_name)),';')INTO @droplikeFROM information_schema.tablesWHERE @schema =database()AND table_name LIKE @pattern; 

Die obige Abfrage weist MySQL an, Tabellennamen abzurufen, die Ihrem erforderlichen Muster @pattern (z. B. order%) aus der Tabelle information_schema entsprechen, die eine Liste aller Tabellennamen in Ihrem Datenbank-@schema (z. B. sample) enthält, und sie mit 'DROP TABLE' zu verketten. . Wir verwenden GROUP_CONCAT, um eine durch Kommas getrennte Liste von Tabellennamen zu erstellen.

Wir speichern diese Abfrage in der @droplike-Variablen.

Als nächstes setzen wir Werte auf @pattern- und @schema-Variablen und führen vorbereitete Anweisungen aus, die aus @droplike-Variablen erstellt wurden.

mysql> SET @schema ='sample';mysql> SET @pattern ='order%';mysql> SELECT CONCAT('DROP TABLE ',GROUP_CONCAT(CONCAT(@schema,'.',table_name)),';') INTO @droplike FROM information_schema.tables WHERE @schema =database() AND table_name LIKE @pattern;mysql> select @droplike;+-------------------- -----------------------------------------+| @droplike |+---------------------------------------------- ---------------+| DROP TABLE Musterbestellungen1, Musterbestellungen2, Musterbestellungen3; |+-------------------------------------------------------- -------------+PREPARE stmt FROM @droplike;EXECUTE stmt;DEALLOCATE PREPARE stmt;

MySQL DROP Alle Tabellen

Ebenso können Sie alle Tabellen in Ihrer Datenbank löschen. Entfernen Sie einfach UND Tabellenname LIKE @pattern aus der select-Anweisung in @droplike oben

SET @schema ='sample';SELECT CONCAT('DROP TABLE IF EXISTS',GROUP_CONCAT(CONCAT(@schema,'.',table_name)),';') INTO @droplike FROM information_schema.tables WHERE @schema =Datenbank();

Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!