您好,匿名用户
随意问技术百科期待您的加入

MySQL 中删除特定前缀的表

0 投票

删除某个表我知道是使用

DROP TABLE

这种命令,如果我只想删除以WP_开头的表呢该怎么写SQL呢?

用户头像 提问 2012年 12月1日 @ Archer 上等兵 (494 威望)
分享到:

1个回答

0 投票

mysql的drop table不支持通配符,所以,你的需求没办法用一条SQL语句搞定,你有两个选择:

  • 写一个UDF(用户自定义函数)来实现,先查某DB下面以wp_开头的表,再删除之
  • 用bash shell,类似这样(语法包含错误,只是示意思路,请自行调试):
for table_name in `mysql -uroot -e 'use your_db; show tables' | grep wp_`
do
  mysql -uroot -e 'use your_db; drop table $table_name if exists'
done
用户头像 回复 2012年 12月1日 @ Janna 下士 (667 威望)
提一个问题:

相关问题

0 投票
1 回复 51 阅读
用户头像 提问 2012年 12月1日 @ Poppy 上等兵 (395 威望)
+1 投票
1 回复 35 阅读
用户头像 提问 2012年 12月1日 @ Hecarim 上等兵 (361 威望)
0 投票
1 回复 42 阅读
0 投票
1 回复 29 阅读
用户头像 提问 2013年 11月5日 @ Vladimir 上等兵 (275 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...