Mysql
 sql >> Database >  >> RDS >> Mysql

TABELLA A CADUTA MySQL

A volte potrebbe essere necessario eliminare la tabella dal database in MySQL. Puoi farlo facilmente usando il comando MySQL DROP TABLE. Ecco come eliminare una tabella in MySQL.

Come eliminare una tabella in MySQL

Ecco i passaggi per eliminare la tabella in MySQL. Useremo l'istruzione MySQL DROP TABLE per rimuovere le tabelle esistenti in un database.

Ecco la sintassi dell'istruzione DROP TABLE:

DROP [TEMPORARY] TABLE [IF EXISTS] table_name [, table_name] ...
[RESTRICT | CASCADE]

L'istruzione DROP TABLE può essere utilizzata per rimuovere una o più tabelle del database.

La parola chiave TEMPORARY eliminerà solo le tabelle temporanee e impedirà l'eliminazione delle tabelle non temporanee.

La parola chiave IF EXISTS eliminerà una tabella solo se esiste.

Nota, per poter eliminare una tabella MySQL, devi disporre dei privilegi DROP TABLE.

Bonus Lettura:come ottenere record da oggi in MySQL

MySQL DROP TABLE per eliminare una singola tabella

Supponiamo che tu abbia la seguente tabella.

mysql> create table orders(order_date date, sale int);

Ecco l'istruzione MySQL DROP TABLE per eliminare questa tabella.

mysql> DROP TABLE orders;

Se provi a eliminare una tabella inesistente, riceverai un avviso:

mysql> drop table orders;
ERROR 1051 (42S02): Unknown table 'sample.orders'

Bonus Leggi:Come ottenere il primo record in ogni gruppo in MySQL

MySQL Elimina più tabelle

Se hai più tabelle table1, table2, table3 nello stesso database, ecco l'istruzione MySQL DROP TABLE per eliminarle

mysql> DROP TABLE table1, table2, table3;

Bonus Lettura:come creare una vista MySQL

Modello di corrispondenza MySQL DROP TABLE

Se si dispone di più tabelle di database e si desidera eliminare tabelle che corrispondono a un modello particolare come "ordine", non è possibile utilizzare direttamente l'istruzione MySQL DROP TABLE per esso. Ad esempio, il comando seguente NON FUNZIONA.

mysql> DROP TABLE like 'order%';

Quindi dovremo usare una soluzione alternativa. Supponiamo che tu abbia le tabelle order1, order2, order3 nel tuo database.

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);

Per prima cosa creiamo una stringa di query SQL dinamica con i nomi delle tabelle al suo interno

SELECT CONCAT('DROP TABLE ',GROUP_CONCAT(CONCAT(@schema,'.',table_name)),';')
INTO @droplike
FROM information_schema.tables
WHERE @schema = database()
AND table_name LIKE @pattern;

La query precedente indica a MySQL di recuperare i nomi delle tabelle corrispondenti al modello richiesto @pattern (ad es. order%) dalla tabella information_schema, che contiene un elenco di tutti i nomi di tabelle nel database @schema (ad es. campione) e di concatenarli con 'DROP TABLE' . Usiamo GROUP_CONCAT per creare un elenco di nomi di tabelle separati da virgole.

Memorizziamo questa query nella variabile @droplike.

Successivamente, impostiamo i valori sulle variabili @pattern e @schema ed eseguiamo istruzioni preparate create dalla variabile @droplike.

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 sample.orders1,sample.orders2,sample.orders3;    |
+-------------------------------------------------------------+

PREPARE stmt FROM @droplike;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

MySQL DROP tutte le tabelle

Allo stesso modo, puoi eliminare tutte le tabelle nel tuo database. Rimuovi E table_name LIKE @pattern dall'istruzione select in @droplike sopra

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

Ubiq semplifica la visualizzazione dei dati in pochi minuti e il monitoraggio in dashboard in tempo reale. Provalo oggi!