代码说

code is poetry

代码说    
碎碎念:关于多啦A梦(其实那时候大家都是叫叮当猫啊),我印象最深的一集:用时光机找坏蛋。  换一换

又一次使用到了editplus的高级技巧

作者:coderzheng 发布于:2016-1-30 12:12 Saturday 分类:other  阅读模式

需求:有一个数据库,只能从远程主机上的phpmyadmin访问(没有数据库主机权限),没有删除数据库的权限。现在要重新导一次数据,要求删除数据库中的所有表。

思路:直接drop掉数据库中的所有表是行不通的,因为表太多了,一个一个删是删不过来的。所以这里就要先获取到数据库中的所有表名。

方法:
show tables;

然后将结果复制粘贴到editplus中去:

table1
table2
table3
table4
table5
table6
table7
table8
table9
table10
。。。

这里,我们继续想要实现在每一行的行首加上"drop table "(最后带空格),并且每一行的行末加上分号。只要能完成这一步,接下来的事情就极其简单了:将所有sql语句扔到sql页面,单击"运行"按钮就OK了。

重点来了,怎么实现呢?用的就是editplus的查找替换功能,但是这里不是普通的文本查找,而是用的"正则匹配"查找。

按ctrl + H, 然后在下面选择"Regular expression",然后在Find what一栏输入^,在Replace with一栏输入drop table (带空格!),单击右侧的"Replace All"按钮即可!

同样的匹配行尾的正则表达式是$,替换成;就行了。

PS:关于正则表达式的部分,请自行百度,本文不做过多阐述!

你可以发表评论、引用到你的网站或博客,或通过RSS 2.0订阅这个博客的所有文章。
上一篇: 继续折腾  |  下一篇:冬天