mysql 怎样清空一个数据库中的所有表

发布网友 发布时间:2022-04-20 21:09

我来回答

3个回答

懂视网 时间:2022-04-08 08:16

MySQL删除数据库中所有表的方法:


-- 切换到要删除表的数据库
USE REPLACE_WITH_DATABASE_NAME_YOU_WANT_TO_DELETE;
-- 删除所有表
SET FOREIGN_KEY_CHECKS = 0;
SET GROUP_CONCAT_MAX_LEN=32768;
SET @tables = NULL;
SELECT GROUP_CONCAT(‘`‘, table_name, ‘`‘) INTO @tables
  FROM information_schema.tables
  WHERE table_schema = (SELECT DATABASE());
SELECT IFNULL(@tables,‘dummy‘) INTO @tables;
SET @tables = CONCAT(‘DROP TABLE IF EXISTS ‘, @tables);
PREPARE stmt FROM @tables;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET FOREIGN_KEY_CHECKS = 1;
-- 删除所有视图
SET FOREIGN_KEY_CHECKS = 0;
SET GROUP_CONCAT_MAX_LEN=32768;
SET @views = NULL;
SELECT GROUP_CONCAT(‘`‘, TABLE_NAME, ‘`‘) INTO @views
  FROM information_schema.views
  WHERE table_schema = (SELECT DATABASE());
SELECT IFNULL(@views,‘dummy‘) INTO @views;
SET @views = CONCAT(‘DROP VIEW IF EXISTS ‘, @views);
PREPARE stmt FROM @views;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET FOREIGN_KEY_CHECKS = 1;




本文出自 “GONE WITH THE WIND” 博客,请务必保留此出处http://h2appy.blog.51cto.com/609721/1676871

MySQL中所有表的方法

标签:mysql   删除   

热心网友 时间:2022-04-08 05:24

1、如果该表数据较少,可以执行sql语句:delete from tablename;
2、如果该表数据较大,那么执行delete语句时间可能过长;
这时候可以先执行:show create table tablename; 保存该表的建表语句。
然后直接drop table tablename;
把表删除后在重新建表,用show语句的结果直接执行一下就行了。

热心网友 时间:2022-04-08 06:42

方法一:drop database 然后create database

方法二:导出数据库的所有脚本,删除数据和创建表的脚本重建数据库

方法三:从information_schema.tables找到该数据库的所有表,然后用循环加动态sql删掉表
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com