Riepilogo: in questo tutorial, imparerai come utilizzare l’istruzione MySQLDROP TABLE
per eliminare una tabella dal database.
MySQL DROP TABLE statement syntax
Per rimuovere le tabelle esistenti, si utilizza l’istruzione MySQLDROP TABLE
.
Ecco la sintassi di base dell’istruzioneDROP TABLE
:
Code language: SQL (Structured Query Language) (sql)
L’istruzioneDROP TABLE
rimuove una tabella e i suoi dati in modo permanente dal database., In MySQL, è anche possibile rimuovere più tabelle utilizzando una singola istruzione DROP TABLE
, ogni tabella è separata da una virgola (,).
L’opzione TEMPORARY
consente di rimuovere solo le tabelle temporanee. Assicura che non si rimuovano accidentalmente tabelle non temporanee.
L’opzione IF EXISTS
rilascia condizionalmente una tabella solo se esiste. Se si rilascia una tabella non esistente con l’opzioneIF EXISTS
, MySQL genera una NOTA, che può essere recuperata utilizzando l’istruzioneSHOW WARNINGS
.,
Si noti che l’istruzioneDROP TABLE
elimina solo le tabelle. Non rimuove i privilegi utente specifici associati alle tabelle. Pertanto, se si crea una tabella con lo stesso nome di quella rilasciata, MySQL applicherà i privilegi esistenti alla nuova tabella, il che potrebbe rappresentare un rischio per la sicurezza.
Le opzioniRESTRICT
eCASCADE
sono riservate per le versioni future di MySQL.
Per eseguire l’istruzione DROP TABLE
, è necessario disporre dei privilegi DROP
per la tabella che si desidera rimuovere.,
MySQL DROP TABLE examples
Prendiamo alcuni esempi di utilizzo dell’istruzioneDROP TABLE
.,3b2a0bf834″>
opzione DROP TABLE
dichiarazione:
Code language: SQL (Structured Query Language) (sql)
MySQL ha emesso un avviso invece:
Code language: SQL (Structured Query Language) (sql)
Per visualizzare il messaggio di avviso, è possibile utilizzare il SHOW WARNINGS
dichiarazione:
Code language: SQL (Structured Query Language) (sql)
MySQL DROP TABLE basato su un modello
si Supponga di avere molte tabelle il cui nome inizia con test
nel database e si desidera rimuovere tutti loro utilizzando un singolo DROP TABLE
istruzione.,
Sfortunatamente, MySQL non ha l’istruzioneDROP TABLE LIKE
che può rimuovere le tabelle in base al pattern matching:
Code language: JavaScript (javascript)
Tuttavia, ci sono alcune soluzioni alternative. Discuteremo uno di loro qui per il vostro riferimento.
Per prima cosa, crea tre tabelletest1
, test2
,test4
per dimostrazione:
Code language: SQL (Structured Query Language) (sql)
Supponiamo che tu voglia rimuovere tutti test*
tabelle.,
Secondo, dichiarare due variabili che accettano schema del database e il modello che si desidera per le tabelle di corrispondenza:
Code language: CSS (css)
Terzo, costruire una dinamica DROP TABLE
dichiarazione:
in sostanza, la query indica MySQL per andare al information_schema
tabella, che contiene informazioni su tutte le tabelle del database, e per concatenare tutte le tabelle del database @schema
( classicmodels
) che corrisponde al modello @pattern
( test%
) con il prefisso DROP TABLE
., La funzioneGROUP_CONCAT
crea un elenco separato da virgole di tabelle.
Quarto, visualizzare il codice SQL dinamico per verificare se funziona correttamente:
Code language: SQL (Structured Query Language) (sql)
Come si può vedere, l’output è quello che ci aspettavamo.
Quinto, eseguire l’istruzione utilizzando un’istruzione preparata come mostrato nella seguente query:
Code language: SQL (Structured Query Language) (sql)
Mettendo tutto insieme.,
Quindi, se si desidera eliminare più tabelle che hanno un modello specifico in un database, è sufficiente utilizzare lo script sopra per risparmiare tempo. Tutto quello che devi fare è sostituire il pattern e lo schema del database nelle variabili @pattern
e @schema
. Se si ha spesso a che fare con questa attività, è possibile sviluppare una stored procedure basata sullo script e riutilizzare questa stored procedure.
In questo tutorial, hai imparato come usare l’istruzione MySQL DROP TABLE
per rimuovere le tabelle esistenti da un database.
- Questo tutorial è stato utile?,
- Sì
Lascia un commento