sql >> Databasteknik >  >> RDS >> Mysql

MySQL DROP TABELL

Ibland kan du behöva ta bort tabell från databasen i MySQL. Du kan enkelt göra detta med kommandot MySQL DROP TABLE. Så här släpper du tabell i MySQL.

Hur man släpper tabell i MySQL

Här är stegen för att släppa tabell i MySQL. Vi kommer att använda MySQL DROP TABLE-satsen för att ta bort befintliga tabeller i en databas.

Här är syntaxen för DROP TABLE-satsen:

SLIPPA [TIMPORÄR] TABELL [OM FINNS] tabellnamn [, tabellnamn] ...[BEGRÄNSNING | CASCADE]

DROP TABLE-satsen kan användas för att ta bort en eller flera databastabeller.

TEMPORARY sökord tar bara bort tillfälliga tabeller och förhindrar att icke-temporära tabeller tas bort.

IF EXISTS släpper en tabell endast om den finns.

Observera att för att kunna ta bort en MySQL-tabell måste du ha DROP TABLE-privilegier.

Bonus Läs:Hur man får rekord från idag i MySQL

MySQL DROP TABLE för att ta bort enstaka tabell

Låt oss säga att du har följande tabell.

mysql> skapa bordsorder(order_datum datum, försäljning int);

Här är MySQL DROP TABLE-satsen för att radera den här tabellen.

mysql> DROP TABLE orders;

Om du försöker ta bort en icke-existerande tabell får du en varning:

mysql> drop table orders;ERROR 1051 (42S02):Okänd tabell 'sample.orders'

Bonus Läs:Hur man får första posten i varje grupp i MySQL

MySQL Släpp flera tabeller

Om du har flera tabeller tabell1, tabell2, tabell3 i samma databas, så här är MySQL DROP TABLE-satsen för att radera dem

mysql> SLIP TABELL tabell1, tabell2, tabell3;

Bonus Läs:Hur man skapar MySQL View

MySQL DROP TABLE matchande mönster

Om du har flera databastabeller och du vill ta bort tabeller som matchar ett visst mönster som "order", kan du inte direkt använda MySQL DROP TABLE-satsen för det. Till exempel, följande kommando FUNGERAR INTE.

mysql> SLIPP TABELL som 'order%';

Så vi kommer att behöva använda en omgång. Låt oss säga att du har tabellorder1, order2, order3 i din databas.

mysql> create table orders1(order_date date, sale int);mysql> create table orders2(order_date date, sale int);mysql> create table orders3(order_date date, sale int);

Först skapar vi en dynamisk SQL-frågesträng med tabellnamn i den

VÄLJ CONCAT('DROPP TABLE ',GROUP_CONCAT(CONCAT(@schema,'.',tabellnamn)),';')INTO @droplikeFROM information_schema.tablesWHERE @schema =databas()OCH tabellnamn SOM @mönster; 

Ovanstående fråga instruerar MySQL att hämta tabellnamn som matchar ditt obligatoriska mönster @mönster(t.ex. order%) från informationsschematabellen, som innehåller en lista över alla tabellnamn i din databas @schema (t.ex. exempel), och sammanfoga dem med 'DROP TABLE' . Vi använder GROUP_CONCAT för att skapa en kommaseparerad lista med tabellnamn.

Vi lagrar denna fråga i variabeln @droplike.

Därefter ställer vi in ​​värden till @pattern- och @schemavariabler och kör förberedda satser skapade från @droplike-variabeln.

mysql> SET @schema ='sample';mysql> SET @pattern ='order%';mysql> SELECT CONCAT('DROP TABLE ',GROUP_CONCAT(CONCAT(@schema,'.',tabellnamn)),';') INTO @droplike FRÅN information_schema.tables WHERE @schema =databas() OCH tabellnamn LIKE @pattern;mysql> välj @droplike;+-------------------- ------------------------------------------+| @droplike |+----------------------------------------------------- ---------------+| DROP TABLE sample.orders1,sample.orders2,sample.orders3; |+------------------------------------------------ -------------+PREPARE stmt FROM @droplike;EXECUTE stmt;DEALLOCATE PREPARE stmt;

MySQL Släpp alla tabeller

På samma sätt kan du släppa alla tabeller i din databas. Ta bara bort OCH tabellnamn LIKE @mönster från välj uttalande i @droplike ovan

SET @schema ='sample';SELECT CONCAT('SLÄPP TABELL OM FINNS',GROUP_CONCAT(CONCAT(@schema,'.',tabellnamn)),';') INTO @droplike FROM information_schema.tables WHERE @schema =databas();

Ubiq gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!

  1. Oracle-entiteten i VS-entitetsramverket uppdaterar inte primärnyckeln i koden

  2. Hur man visar ett datum i amerikanskt datumformat i SQL Server (T-SQL)

  3. Hur man hittar datumformatet som används i den aktuella sessionen i SQL Server (T-SQL)

  4. Spring Docker-container kan inte komma åt Postgres Docker-container