如何清理MYSQL数据库多余的数据表

如何清理MYSQL数据库多余的数据表,第1张

MYSQL数据库多余的数据表清理方法:

drop table命令用于删除数据表。

drop table命令格式:drop table <表名>;

例如,删除表名为 MyClass 的表:

mysql> drop table MyClass;

DROP TABLE用于删除一个或多个表。必须有每个表的DROP权限。所有的表数据和表定义会被取消,所以使用本语句要小心。

use 数据库名(是要删除表的所在的那个数据库的名称)

GO

declare @sql varchar(8000)

while (select count() from sysobjects where type='U')>0

begin

SELECT @sql='drop table ' + name

FROM sysobjects

WHERE (type = 'U')

ORDER BY 'drop table ' + name

exec(@sql)

end-----------------------------------------------use 数据库一定要填对哦

工具/材料:Management Studio。

1、首先在桌面上,点击“Management Studio”图标。

2、然后在该界面中,确定要删除的表及数据库。

3、其次在该界面中,点击“新建查询”按钮。

4、继续在该界面中,输入删除整个表的SQL语句“drop table test;”。

5、再者在该界面中,点击“执行”按钮。

6、然后在该界面中,test表被删除。

7、继续在该界面中,输入删除整个表的SQL语句“drop database test2222;”。

8、再者在该界面中,点击“执行”按钮。

9、最后在该界面中,test2222数据库被删除。

SELECT concat('DROP TABLE IF EXISTS ', table_name, ';')

FROM information_schematables

WHERE table_schema = 'mydb';

mydb换成你想删除的数据库的名字

这样可以生成一个批量处理的sql语句,你需要再运行一次这个结果集

就可以删除所有的表而不删除数据库了

还不如以system账户登录,然后把该用户删了:drop user user1 cascade;

如果还需要该账户,再重新建一个:create user user1 identified by xxxxx;

意义是不一样的,drop是删除表,使用drop之后表结构和表的数据都会被删除,truncate 和 delete是删除表里的数据,但不删除表本身,truncate 和 delete相比,truncate要快很多,但缺点就是不能回滚,包括索引等都会变成初始值,数据就无法恢复了。

use 数据库名(是要删除表的所在的那个数据库的名称)\x0d\GO\x0d\declare @sql varchar(8000)\x0d\while (select count() from sysobjects where type='U')>0\x0d\begin\x0d\SELECT @sql='drop table ' + name\x0d\FROM sysobjects\x0d\WHERE (type = 'U')\x0d\ORDER BY 'drop table ' + name\x0d\exec(@sql) \x0d\end-----------------------------------------------use 数据库一定要填对哦

1、创建两个测试表,指定表空间TEMP;

create table test_ts_1(id number) tablespace temp;

create table test_ts_2(id number) tablespace temp;

2、查询表空间下的表;可以发现刚建的两张表;

select from user_tables t where tablespace_name = 'TEMP';

3、编写脚本,删除TEMP表空间下的所有表;

begin

for v_cur in (select distinct ttable_name from user_tables t where tablespace_name = 'TEMP') loop

  execute immediate 'drop table '||v_curtable_name||' purge';

end loop;

end;

4、再次查询,可以发现TEMP表空间下的表,已经被删除;

select from user_tables t where tablespace_name = 'TEMP'

以上就是关于如何清理MYSQL数据库多余的数据表全部的内容,包括:如何清理MYSQL数据库多余的数据表、sql删除数据库所有表、怎样用sql语句删除整个表及数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10149533.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存