Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

DROP TABLE do MySQL


Às vezes, você pode precisar excluir a tabela do banco de dados no MySQL. Você pode fazer isso facilmente usando o comando MySQL DROP TABLE. Veja como descartar a tabela no MySQL.


Como descartar tabela no MySQL


Aqui estão as etapas para descartar a tabela no MySQL. Usaremos a instrução MySQL DROP TABLE para remover tabelas existentes em um banco de dados.

Aqui está a sintaxe da instrução DROP TABLE:
DROP [TEMPORARY] TABLE [IF EXISTS] table_name [, table_name] ...[RESTRICT | CASCATA]

A instrução DROP TABLE pode ser usada para remover uma ou mais tabelas de banco de dados.

A palavra-chave TEMPORARY excluirá apenas tabelas temporárias e impedirá a exclusão de tabelas não temporárias.

A palavra-chave IF EXISTS eliminará uma tabela somente se ela existir.

Observe que, para poder excluir uma tabela MySQL, você deve ter privilégios DROP TABLE.

Bônus de leitura:Como obter o registro de hoje no MySQL


MySQL DROP TABLE para excluir uma única tabela


Digamos que você tenha a seguinte tabela.
mysql> cria tabela de pedidos(data_pedido, data de venda);

Aqui está a instrução DROP TABLE do MySQL para excluir esta tabela.
mysql> DROP TABLE ordens;



Se você tentar excluir uma tabela inexistente, receberá um aviso:
mysql> drop table orders;ERRO 1051 (42S02):tabela desconhecida 'sample.orders'

Bônus de leitura:Como obter o primeiro registro em cada grupo no MySQL


MySQL descarta várias tabelas


Se você tiver várias tabelas table1, table2, table3 no mesmo banco de dados, aqui está a instrução MySQL DROP TABLE para excluí-las
mysql> DROP TABLE tabela1, tabela2, tabela3;



Bônus de leitura:Como criar uma visualização do MySQL


Padrão de correspondência MySQL DROP TABLE


Se você tiver várias tabelas de banco de dados e quiser excluir tabelas que correspondam a um padrão específico, como "ordem", não poderá usar diretamente a instrução DROP TABLE do MySQL para isso. Por exemplo, o comando a seguir NÃO FUNCIONARÁ.
mysql> DROP TABLE como 'order%';



Então, vamos precisar usar um trabalho em torno. Digamos que você tenha as tabelas orders1, orders2, order3 em seu banco de dados.
mysql> cria a tabela orders1(order_date date, sale int);mysql> cria a tabela orders2(order_date date, sale int);mysql> cria a tabela orders3(order_date date, sale int);



Primeiro, criamos uma string de consulta SQL dinâmica com nomes de tabelas nela
SELECT CONCAT('DROP TABLE ',GROUP_CONCAT(CONCAT(@schema,'.',table_name)),';')INTO @droplikeFROM information_schema.tablesWHERE @schema =database()AND table_name LIKE @pattern; 
A consulta acima instrui o MySQL a buscar nomes de tabelas que correspondam ao padrão @pattern (por exemplo, ordem%) da tabela information_schema, que contém uma lista de todos os nomes de tabelas em seu banco de dados @schema (por exemplo, amostra), e concatená-los com 'DROP TABLE' . Usamos GROUP_CONCAT para criar uma lista separada por vírgulas de nomes de tabelas.

Armazenamos esta consulta na variável @droplike.

Em seguida, definimos valores para as variáveis ​​@pattern e @schema e executamos instruções preparadas criadas a partir da variável @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 ONDE @schema =database() E table_name LIKE @pattern;mysql> selecione @droplike;+------ ------------------------------+| @droplike |+---------------------------------------------- ---------------+| DROP TABLE amostra.pedidos1,amostra.pedidos2,amostra.pedidos3; |+------------------------------------------------ -------------+PREPARE stmt DE @droplike;EXECUTE stmt;DEALLOCATE PREPARE stmt;


MySQL DROP Todas as Tabelas


Da mesma forma, você pode descartar todas as tabelas em seu banco de dados. Basta remover AND table_name LIKE @pattern da instrução select em @droplike acima
SET @schema ='sample';SELECT CONCAT('DROP TABLE IF EXISTS',GROUP_CONCAT(CONCAT(@schema,'.',table_name)),';') INTO @droplike FROM information_schema.tables WHERE @schema =banco de dados();



O Ubiq facilita a visualização de dados em minutos e o monitoramento em painéis em tempo real. Experimente hoje!