数据库字典表,对于不同的需求,有不同的实现方式,但是,对于只测试,常常需要通过一个表的中文名字,知道他在数据库中的表名,这样就需要一个中文名对应数据库表名的数据库字典表。如:
表 | 中文名 |
t_cd_usr | 用户表 |
t_cd_corp | 企业表 |
t_cd_shop | 商品表 |
t_cd_contract | 合同表 |
要求很简单,但是项目没有输出这样的文件时,如何利用手边资源,生成这样一份文件呢?
今天,我就给大家介绍一种简单的办法(我认为的,至于你怎么看,那 就是你说了算了!哈哈哈……)
好了,虾扯蛋少扯,来点干货(lll¬ω¬)
客官,来,上菜……
首先,使用数据库客户端,登录数据库,登录后,找到要生成字典表的数据库,右击鼠标>转存储SQL文件>仅结构 (不同数据库客户端,可能不一样,但是,结果就是导出数据库表结构。哈哈……这叫最终一致性,管你走什么歪门邪道呢,哈哈哈……)
好,现在拿到了数据库结构sql文件(哈哈……开心吧,万里长征第一步,就完成了,简单吧,是不是,该喝一杯,庆祝一下,cheers)
用文本器打开sql文件,哇…… /(ㄒoㄒ)/~~我滴个妈吖,这是什么,完全没有数据字典表的样子,你这个骗子。
╥﹏╥…委屈啊,看官,别急啊!
文本器,正则表达式,会写不? (你,你牛X——,我不会。不会!不会,度娘去!)
呵呵,我也不会,不过我今天不讲正则表达式,我讲“越狱”!
找一台linux电脑,用ftp方式,把刚才导出的数据库表结构文件,传到linux电脑中。进入linux电脑,找到传的sql文件,在终端中执行:
grep 'COMMENT ON TABLE "*".*' XXXXXX.sql
>> yyyy.txt (XXXXX.sql为你的sql文件、yyyy.txt为你想保存的文件)不懂,不懂就复制黏贴,先执行,然后打开yyyy.txt文件看看,少来烦我,度娘都知道,我就知道这一点。
哇塞(o゜▽゜)o☆不看不知道,一看吓一跳了吧!酸爽不?
偷偷的告诉你噢:
egrep -e "COMMENT ON TABLE *.*|COMMENT
ON COLUMN *.*" XXXX.sql >>yyyy.txt
这样更牛X哦,可以同时过滤多个条件
爽够吧!呵呵,爽够了,就干活!在linux终端中执行:
iconv -f utf-8 -t gb2312 yyyy.txt >>yyyy2.txt 又不懂! 你,你想气死我啊!不懂,你可以不执行,看看会出啥问题,到时候,它认识你,你不认识它,不要说,我没告诉你咋办。
好了,现在把yyyy2.txt下载到你本机吧。(神马,你的本机是mac!? 我没钱,只能用windows,所有,我的脚本只支持windows。骂娘,也别找我,你可是财神!)
再在本地,用文本器打开yyyy2.txt文件,这回总知道怎么替换掉表名前面的东西了吧,至于表名后面的【" IS '】,你说,你想怎么替?我— 我想用tab替换可以吗?(被我吼的结巴了) ok,no problem!Tab空格用‘\t’代替。
至于最后的【';】就不用我讲,怎么替换了吧!(不懂,那就留做思考题吧,哈哈......)
那,那现在,现在最激动人心的时刻到了,千万不能紧张、不要手抖噢。把替换完成后的yyyy2.txt文件,另存为kkk.xls文件。
紧张!害怕!万一还不是我想要的,怎么办?怎么办?
嘿嘿...... 打开kkk.xls文件,看看吧!
谢谢各位看官,耐心看完了我的无厘头。发现没有!发现没有!不知不觉中,你竟然掌握了这么高深、快捷的方法,制作了一份属于你自己原创的‘数据库字典表’,以后再也不用求人了!是不是,是不是应该‘干杯’啊!