GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come eliminare una tabella in MySQL

Introduzione

Il DROP TABLE consente di rimuovere una tabella da un database MySQL. Questa istruzione cancella l'intera struttura così come il contenuto della tabella.

Il tutorial esplora DROP comandi di istruzioni e mostra le opzioni per eliminare le tabelle dai database MySQL .

Prerequisiti

  • Accesso a una finestra di terminale/riga di comando
  • Un sistema che esegue MySQL
  • Un database funzionante o di prova
  • Un utente MySQL con i privilegi necessari (privilegi DROP richiesti)

Sintassi del comando MySQL DROP TABLE

Per rimuovere una tabella in MySQL, usa il DROP TABLE dichiarazione. La sintassi di base del comando è la seguente:

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

Analizziamo la sintassi:

  • Il DROP TABLE istruzione elimina una tabella e le sue righe in modo permanente.
  • Il [TEMPORARY] l'opzione ti assicura di rimuovere solo le tabelle temporanee.
  • Il [IF EXISTS] opzione elimina una tabella solo se esiste.
  • Il [RESTRICT] opzione sarà disponibile nelle future iterazioni di MySQL. Garantisce che una riga padre non venga eliminata se una riga figlio fa riferimento a un valore in detta riga padre.
  • Il [CASCADE] L'opzione assicura che quando si elimina una riga, vengano eliminate anche tutte le righe nelle tabelle correlate che fanno riferimento a quella riga. Questa opzione sarà disponibile nelle future iterazioni di MySQL.

Usa l'istruzione DROP per rimuovere una tabella

Per rimuovere permanentemente una tabella, inserisci la seguente istruzione all'interno della shell MySQL:

DROP TABLE table1;

Sostituisci table1 con il nome della tabella che vuoi eliminare. L'output conferma che la tabella è stata rimossa.

Usa DROP per rimuovere solo le tabelle esistenti

MySQL genera un errore se si tenta di eliminare una tabella che non esiste. Questo può essere un problema quando includi il DROP istruzione in uno script predefinito.

Per verificare prima MySQL se esiste una tabella:

DROP TABLE IF EXISTS table1;

Il IF EXISTS opzione genera un avviso se table1 non esiste.

L'utilizzo di questa opzione impedisce che uno script si blocchi in caso di errore. Visualizza l'avviso inserendo:

SHOW WARNINGS;

Come eliminare più tabelle

Per eliminare più tabelle con un unico DROP dichiarazione:

DROP TABLE IF EXISTS table1, table2, table3;

Il IF EXISTS l'opzione mostra un avviso come table1 non esiste.

Come eliminare una tabella temporanea

Le tabelle temporanee vengono utilizzate per generare e archiviare un set di dati poco prima di utilizzarlo.

Ad esempio, potresti decidere di memorizzare i risultati di un SELECT istruzione con più istruzioni JOIN in una tabella temporanea. Quindi, interroga facilmente la tabella temporanea.

Per rimuovere le tabelle temporanee senza rischiare di perdere le tabelle regolari, utilizza il TEMPORARY opzione:

DROP TEMPORARY TABLE IF EXISTS table4;

Come eliminare le tabelle in base a stringhe di caratteri

MySQL non ha un comando integrato per eliminare le tabelle che corrispondono a una stringa di caratteri. Utilizzare invece uno script per aiutare a eseguire questa attività.

1. Definisci il database e la stringa di caratteri che desideri filtrare:

set @schema = 'tableselection';
set @string = 'table%';

Sostituisci tableselection con il nome del tuo database. Sostituisci table% con la stringa di caratteri che si desidera selezionare ed eliminare. Assicurati di lasciare il % carattere jolly alla fine.

2. Crea un'istruzione MySQL che selezioni tutte le tabelle che corrispondono alla stringa di caratteri:

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

Questo codice seleziona tutte le tabelle con table% caratteri specificati da information_schema tavolo. Quindi li concatena ed esegue un DROP dichiarazione contro il gruppo.

3. Crea una selezione dai risultati di questo codice:

SELECT @droptool;

4. Visualizza il contenuto del comando:

PREPARE stmt FROM @droptool;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

Il codice nella sezione seguente è presentato nella sua interezza per facilità d'uso:

set @schema = 'tableselection';
set @string = 'table%';
 
SELECT CONCAT ('DROP TABLE ',GROUP_CONCAT(CONCAT(@schema,'.',table_name)),';')
INTO @droptool
FROM information_schema.tables
WHERE @schema = database()
AND table_name LIKE @string;
 
SELECT @droptool;
 
PREPARE stmt FROM @droptool;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

Cent OS
  1. Come creare database MySQL in Workbench

  2. Come copiare tabelle MySQL tra database

  3. Come riparare la tabella del database MySQL danneggiata

  4. Elimina tabelle in MySQL

  5. Come installare MySQL 5.6 su CentOS 6.x

Foglio informativo sui comandi MySQL

Come utilizzare i trigger MySQL

Come installare MySQL su AlmaLinux

Come installare MySQL su CentOS 8

Come installare MySQL 8.0 su CentOS 8 / RHEL 8

Come installare MySQL 8 su CentOS 8