天天看點

MySQL中删除所有表的方法

MySQL删除資料庫中所有表的方法:

<code>-- 切換到要删除表的資料庫</code>

<code>USE REPLACE_WITH_DATABASE_NAME_YOU_WANT_TO_DELETE;</code>

<code>-- 删除所有表</code>

<code>SET</code> <code>FOREIGN_KEY_CHECKS = 0;</code>

<code>SET</code> <code>GROUP_CONCAT_MAX_LEN=32768;</code>

<code>SET</code> <code>@tables = </code><code>NULL</code><code>;</code>

<code>SELECT</code> <code>GROUP_CONCAT(</code><code>'`'</code><code>, table_name, </code><code>'`'</code><code>) </code><code>INTO</code> <code>@tables</code>

<code>  </code><code>FROM</code> <code>information_schema.tables</code>

<code>  </code><code>WHERE</code> <code>table_schema = (</code><code>SELECT</code> <code>DATABASE</code><code>());</code>

<code>SELECT</code> <code>IFNULL(@tables,</code><code>'dummy'</code><code>) </code><code>INTO</code> <code>@tables;</code>

<code>SET</code> <code>@tables = CONCAT(</code><code>'DROP TABLE IF EXISTS '</code><code>, @tables);</code>

<code>PREPARE</code> <code>stmt </code><code>FROM</code> <code>@tables;</code>

<code>EXECUTE</code> <code>stmt;</code>

<code>DEALLOCATE</code> <code>PREPARE</code> <code>stmt;</code>

<code>SET</code> <code>FOREIGN_KEY_CHECKS = 1;</code>

<code>-- 删除所有視圖</code>

<code>SET</code> <code>@views = </code><code>NULL</code><code>;</code>

<code>SELECT</code> <code>GROUP_CONCAT(</code><code>'`'</code><code>, TABLE_NAME, </code><code>'`'</code><code>) </code><code>INTO</code> <code>@views</code>

<code>  </code><code>FROM</code> <code>information_schema.views</code>

<code>SELECT</code> <code>IFNULL(@views,</code><code>'dummy'</code><code>) </code><code>INTO</code> <code>@views;</code>

<code>SET</code> <code>@views = CONCAT(</code><code>'DROP VIEW IF EXISTS '</code><code>, @views);</code>

<code>PREPARE</code> <code>stmt </code><code>FROM</code> <code>@views;</code>

<code></code>

本文轉自 h2appy  51CTO部落格,原文連結:http://blog.51cto.com/h2appy/1676871,如需轉載請自行聯系原作者