sammanfattning: i den här handledningen lär du dig hur du använder MySQLDROP TABLE
– uttalandet för att släppa en tabell från databasen.
MySQL DROP TABLE statement syntax
för att ta bort befintliga tabeller använder du MySQLDROP TABLE
– satsen.
här är den grundläggande syntaxen för DROP TABLE
– satsen:
Code language: SQL (Structured Query Language) (sql)
DROP TABLE
tar bort en tabell och dess data permanent från databasen., I MySQL kan du också ta bort flera tabeller med en endaDROP TABLE
– sats, varje tabell separeras med ett kommatecken (,).
alternativetTEMPORARY
låter dig bara ta bort tillfälliga tabeller. Det säkerställer att du inte av misstag tar bort icke-tillfälliga tabeller.
alternativetIF EXISTS
släpper villkorligt en tabell endast om den finns. Om du släpper en icke-befintlig tabell med IF EXISTS
– alternativet genererar MySQL en anteckning som kan hämtas med SHOW WARNINGS
– satsen.,
Observera attDROP TABLE
– satsen bara droppar tabeller. Det tar inte bort specifika användarrättigheter som är associerade med tabellerna. Därför, om du skapar en tabell med samma namn som den tappade, kommer MySQL att tillämpa befintliga privilegier till den nya tabellen, vilket kan utgöra en säkerhetsrisk.
alternativenRESTRICT
ochCASCADE
är reserverade för framtida versioner av MySQL.
för att utföraDROP TABLE
– satsen måste du haDROP
– behörigheten för tabellen som du vill ta bort.,
MySQL DROP TABLE exempel
låt oss ta några exempel på att användaDROP TABLE
uttalande.,3b2a0bf834″>
alternativet i DROP TABLE
uttalande:
Code language: SQL (Structured Query Language) (sql)
MySQL utfärdade en varning istället:
Code language: SQL (Structured Query Language) (sql)
för att visa varningen kan du använda SHOW WARNINGS
uttalande:
Code language: SQL (Structured Query Language) (sql)
MySQL drop table baserat på ett mönster
anta att du har många tabeller vars namn börjar med test
I din databas och du vill ta bort dem alla med en enda test
div id = ”4e3772c7ed” >
uttalande.,
tyvärr har MySQL inte uttalandetDROP TABLE LIKE
som kan ta bort tabeller baserat på mönstermatchning:
Code language: JavaScript (javascript)
det finns dock vissa lösningar. Vi kommer att diskutera en av dem här för din referens.
först, skapa tre tabellertest1
,test2
,test4
för demonstration:
Code language: SQL (Structured Query Language) (sql)
anta att du vill ta bort allatest*
tabeller.,
För det andra, deklarera två variabler som accepterar databasschema och ett mönster som du vill att tabellerna ska matcha:
Code language: CSS (css)
För det tredje, konstruera en dynamisk DROP TABLE
uttalande:
i grund och botten instruerar frågan MySQL att gå till tabellen information_schema
, som innehåller information om alla tabeller i alla databaser, och att sammanfoga alla tabeller i databasen @schema
( classicmodels
) som matchar mönstret @pattern
( test%
) med prefixet DROP TABLE
., FunktionenGROUP_CONCAT
skapar en kommaseparerad lista med tabeller.
fjärde, visa dynamisk SQL för att verifiera om den fungerar korrekt:
Code language: SQL (Structured Query Language) (sql)
som du kan se är utgången vad vi förväntade oss.
för det femte, kör uttalandet med ett förberett uttalande som visas i följande fråga:
Code language: SQL (Structured Query Language) (sql)
sätta ihop allt.,
Så om du vill släppa flera tabeller som har ett specifikt mönster i en databas, använder du bara skriptet ovan för att spara tid. Allt du behöver göra är att ersätta mönstret och databasschemat i @pattern
och @schema
variabler. Om du ofta måste hantera den här uppgiften kan du utveckla en lagrad procedur baserad på skriptet och återanvända den lagrade proceduren.
i den här guiden har du lärt dig hur du använder MySQL DROP TABLE
uttalande för att ta bort befintliga tabeller från en databas.
- var den här handledningen till hjälp?,
- YesNo
Lämna ett svar