MAC下最好用的Mysql工具Sequel Pro擴展(bundle)單行顯示工具

一直在尋找一個比較好用的mac下的Mysql工具
試過一下幾個:
Navicat 實在是卡
tableplus 還算是好用吧,可是比較蛋疼的是收費
Sequel Pro 剛開始以爲很差用,如今以爲比較完美,須要調教javascript

直入主題:
1.Sequel Pro 設置提示延遲爲0.5s 這個我以前一直用默認的,提示超級慢,很是難受,調整事後很是流暢
2.單行按列顯示,這個功能tableplus的很是好用,我一直但願能有一個這樣的功能
3.SQL語句格式化 https://www.jianshu.com/p/bbf...
說搞就搞,先看一下最終效果:
已經很是完美了,能夠展現出表格和按照關鍵字進行過濾java

clipboard.png

起源:
先是原本要搞一個SQL格式化工具,查到下面這兩個文章,受官方導出JSON的啓發吧,查閱官方文檔
https://www.jianshu.com/p/bbf...
https://sequelpro.com/docs/bu...python

1.配置Sequel Pro bundle選項 Bundles -> Bundle Editor -> Date table 點擊show -> 而後點擊左下角+號 ,添加一個新的,按下圖設置便可jquery

bundle scope : Date Table
Input: select rows(csv)
output: show as HTML
也能夠選擇 SHOW AS HTML TOOLTIP 進行直接提示git

clipboard.png

1.使用Python解析出相應的內容csv格式的,代碼比較簡單,主要是python不熟
2.按照table固定格式輸出HTML便可
3.經過js進行過濾table中的元素github

#!/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>'

這樣就算是大功告成了。sql

遇到問題:
剛開始以爲實現了展現便可,可是仍是很是想實現過濾功能的,這個功能很經常使用,
查看文檔發現能夠支持SHOW AS HTML 是支持JavaScript的
可是一直嘗試不成功,後來發現其實頁面導出的就是HTML,那按理說就能夠執行js代碼,而後進行簡單測試發現真的能夠實現這個功能。
因此後來又添加上了filter功能。
Github :https://github.com/colincatsu...json

你也能夠直接下載 :https://github.com/colincatsu...ide

相關文章
相關標籤/搜索