MAC下最好用的Mysql工具Sequel Pro扩展(bundle)单行显示工具
一直在寻找一个比较好用的mac下的Mysql工具
试过一下几个:
Navicat 实在是卡
tableplus 还算是好用吧,但是比较蛋疼的是收费
Sequel Pro 刚开始觉得不好用,现在觉得比较完美,需要调教
直入主题:
1.Sequel Pro 设置提示延迟为0.5s 这个我之前一直用默认的,提示超级慢,非常难受,调整过后非常流畅
2.单行按列显示,这个功能tableplus的非常好用,我一直希望能有一个这样的功能
3.SQL语句格式化 https://www.jianshu.com/p/bbf...
说搞就搞,先看一下最终效果:
已经非常完美了,可以展示出表格和按照关键字进行过滤
起源:
先是本来要搞一个SQL格式化工具,查到下面这两个文章,受官方导出JSON的启发吧,查阅官方文档
https://www.jianshu.com/p/bbf...
https://sequelpro.com/docs/bu...
1.配置Sequel Pro bundle选项 Bundles -> Bundle Editor -> Date table 点击show -> 然后点击左下角+号 ,添加一个新的,按下图设置即可
bundle scope : Date Table
Input: select rows(csv)
output: show as HTML
也可以选择 SHOW AS HTML TOOLTIP 进行直接提示
1.使用Python解析出相应的内容csv格式的,代码比较简单,主要是python不熟
2.按照table固定格式输出HTML即可
3.通过js进行过滤table中的元素
#!/usr/bin/python #coding=utf-8 import urllib2, urllib import json import sys reload(sys) sys.setdefaultencoding('utf-8') data = sys.stdin.readlines() #过滤掉没数据表格 if len(data) > 0 : print '<input type="text" id="filterName" style="width:140px;height:30px"/> <button id="filterBtn">filter</button>' print '<button id="resetBtn">reset</button><br>' else: exit(0) header = data[0].strip('\n'); headers = header.split(",") rowdata = data[1]; rowdatas = rowdata.split(",") content_tab_row = '<table border="1" cellspacing="0"> ' row_tr = "" for index in range(len(headers)): row_tr = row_tr + " <tr><th>" +headers[index].strip('"') +" </th><th>" +rowdatas[index].strip('"') +"</th> " + "</tr>" content_tab_row = content_tab_row + row_tr + "</table>" print content_tab_row #引入jQuery print '<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.1.min.js"></script>' print '<script type="text/javascript">' print 'jQuery.expr[":"].contains=function(a,i,m){return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0};' print '$("#filterBtn").click(function(){var keyword=$("#filterName").val();if(keyword==undefined||keyword==""){return}$("table tbody tr").hide().filter(":contains(\'"+(keyword)+"\')").show()});' print '$("#resetBtn").click(function(){window.location.reload()});' print '</script>'
这样就算是大功告成了。
遇到问题:
刚开始觉得实现了展示即可,但是还是非常想实现过滤功能的,这个功能很常用,
查看文档发现可以支持SHOW AS HTML 是支持JavaScript的
但是一直尝试不成功,后来发现其实页面导出的就是HTML,那按理说就可以执行js代码,然后进行简单测试发现真的可以实现这个功能。
所以后来又添加上了filter功能。
Github :https://github.com/colincatsu...
你也可以直接下载 :https://github.com/colincatsu...