MySQL DROP TABLE (Português)

posted in: Articles | 0

Summary: neste tutorial, você irá aprender a usar a instrução MySQL DROP TABLE para largar uma tabela da base de dados.

MySQL DROP TABLE statement syntax

Para remover as tabelas existentes, você usa o MySQL DROP TABLE statement.

Aqui é a sintaxe básica de DROP TABLE declaração:

Code language: SQL (Structured Query Language) (sql)

DROP TABLE declaração remove uma tabela e seus dados permanentemente do banco de dados., Em MySQL, você também pode remover várias tabelas usando um único DROP TABLE afirmação, cada tabela é separada por uma vírgula (,).

a opção TEMPORARY permite-lhe remover apenas as tabelas temporárias. Ele garante que você não remover acidentalmente tabelas não-temporárias.

a opçãoIF EXISTS pode, condicionalmente, deixar cair uma tabela apenas se existir. Se você largar uma tabela não existente com a opção IF EXISTS, MySQL gera uma nota, que pode ser obtida usando a instrução SHOW WARNINGS.,

Note que a declaração DROP TABLE apenas contém tabelas. Ele não remove privilégios de usuário específicos associados com as tabelas. Portanto, se você criar uma tabela com o mesmo nome que a largada, MySQL irá aplicar os privilégios existentes para a nova tabela, o que pode representar um risco de segurança.

The RESTRICT and CASCADE options are reserved for the future versions of MySQL.

para executar a declaração DROP TABLE, deverá ter privilégios DROP privilégios para a tabela que deseja remover.,

MySQL DROP TABLE examples

Let’s take some examples of using the DROP TABLE statement.,3b2a0bf834″>

opção DROP TABLE declaração:

Code language: SQL (Structured Query Language) (sql)

MySQL emitido um aviso em vez disso:

Code language: SQL (Structured Query Language) (sql)

Para mostrar o aviso, você pode usar o SHOW WARNINGS instrução:

Code language: SQL (Structured Query Language) (sql)

MySQL DROP TABLE com base em um padrão

Suponha que você tenha muitos tabelas cujos nomes começam com test em seu banco de dados e você deseja remover todos eles usando um único DROP TABLE instrução.,

infelizmente, MySQL não tem o ID

afirmação que pode remover tabelas com base na correspondência de padrões:

Code language: JavaScript (javascript)

No entanto, existem alguns workarounds. Discutiremos um deles aqui para sua referência.

Primeiro, crie três tabelas test1test2 test4 para demonstração:

Code language: SQL (Structured Query Language) (sql)

Suponha que você deseja remover todos os test* tabelas.,

em Segundo lugar, declarar duas variáveis que aceitam o esquema de banco de dados e um padrão que você deseja para as tabelas de correspondência:

Code language: CSS (css)

o Terceiro, construir uma dinâmica DROP TABLE declaração:

Basicamente, a consulta indica que o MySQL vá para o information_schema tabela, que contém informações sobre todas as tabelas de todos os bancos de dados, e para concatenar todas as tabelas no banco de dados @schema ( classicmodels ) que coincide com o padrão de @pattern ( test% ) com o prefixo DROP TABLE ., A função GROUP_CONCAT cria uma lista separada por vírgulas de tabelas.

por último, apresentar a dinâmica de SQL para verificar se ele funciona corretamente:

Code language: SQL (Structured Query Language) (sql)

Como você pode ver, o resultado é o que nós esperávamos.

ifth, execute a declaração usando uma declaração preparada como mostrado na seguinte consulta:

Code language: SQL (Structured Query Language) (sql)

Juntando tudo.,

Por isso, se quiser largar várias tabelas que tenham um padrão específico numa base de dados, basta usar o programa acima para poupar tempo. Tudo o que você precisa fazer é substituir o padrão e o esquema de banco de dados em @pattern e @schema variáveis. Se você muitas vezes tem que lidar com esta tarefa, você pode desenvolver um procedimento armazenado com base no script e reutilizar este procedimento armazenado.

neste tutorial, você aprendeu a usar a instrução MySQL DROP TABLE para remover as tabelas existentes de uma base de dados.

  • este tutorial foi útil?,
  • YesNo

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *