首先用SSH登录了服务器,登录mysql数据库:
mysql -uroot -proot
注:-u 后面为你的数据库用户名 -p后面为你的数据库密码
然后生成根据正则表达式删除表的sql语句并保存:
select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables
where table_name REGEXP 'ss_[0-9]{3,}..' into outfile 'del.sql';;
注:REGEXP 后面跟的是需要删除表名的正则表达式
这里有一些常用的MySQL正则表达式规则:
逻辑或: select * from s_user where name REGEXP 'a|b|c'
特定字符字符: select * from s_user where name REGEXP '[abc]123'
匹配范围: [0-9] [a-z]
重复元字符: * 零个或多个
+ 一个或多个
? 零个或一个
{n} 指定次数
{n,m}指定次数范围
{n,} 指定次数范围以上
定位元字符: ^行首
$行尾
任意多个字符: ..
....更具体的匹配规则可以google一下
这里的SQL文件默认是导入到了/var/lib/mysql/del.sql这里
然后我们在执行del.sql里面的命令就可以了,如果不放心的话,可以使用vi打开del.sql看一下里面的内容:
执行: source del.sql