1. 程式人生 > >Sequel自動生成Select語句

Sequel自動生成Select語句

form 彈出 動手 table RoCE con .com out put

Sequel 是 Mac 上的一款不錯的 mysql 可視化編輯, 它有一個非常好的功能是可以定制自己的插件, 這就是Bundles。 利用這個功能可以生成自己常用的SQL, 提高效率。 查詢語句是最常用的, 下面就自己動手寫了一個, 具體步驟如下:

1. 在頂部菜單欄點擊 Bundles -> Bundles Editor 進入Bundles 編輯器

2. 左側樹形結構, 點擊 Input Field 行Show (鼠標放上去才會顯示show)

3. 點樹形菜單底部的 + 號, 新增一個Bundle

4. 在新增的Bundle裏, 配置Bundle 選項:

  # Bundle Scope: Input Field

  # Menu Label: General Select SQL

  # Output : Insert as Text

  # 可以配置快捷鍵

  註意:Scope 的選擇的不對,會影響Output的配置項裏沒有Insert as Text

5. Command內容在代碼區。 代碼是使用的Shell + Perl 來實現的

6. 保存後就可以通過菜單選擇、快捷鍵來使用了

註意:使用的時候, 焦點必須放在Run Query 區域, 否則會因為SQL沒有地方放置而生成失敗

解決辦法:可以配置Output 為 Show as HTML, 這樣會彈出個小框來展示生成的SQL,選擇哪一種看個人喜好。

參考鏈接:

  1. https://sequelpro.com/docs/bundles/bundle-editor

  2. https://github.com/mattlangtree/Bundles

 1 # Check if one table is selected
 2 if [ -z "$SP_SELECTED_TABLE" ]; then
 3     echo "<font color=red>Please select a table.</font>"
 4     exit $SP_BUNDLE_EXIT_SHOW_AS_HTML_TOOLTIP
 5 fi
6 7 if [ -z $SP_PROCESS_ID ]; then 8 echo "<font color=red>No front most connection window found!</font>" 9 exit $SP_BUNDLE_EXIT_SHOW_AS_HTML_TOOLTIP 10 fi 11 12 # send query to Sequel Pro 13 echo "SELECT COLUMN_NAME FROM information_schema.columns WHERE TABLE_NAME =‘${SP_SELECTED_TABLE}‘" > "$SP_QUERY_FILE" 14 15 # execute the SQL statement; the result will be available in the file $SP_QUERY_RESULT_FILE 16 open "sequelpro://$SP_PROCESS_ID@passToDoc/ExecuteQuery/csv" 17 18 19 # wait for Sequel Pro; status file will be written to disk if query was finished 20 while [ 1 ] 21 do 22 [[ -e "$SP_QUERY_RESULT_STATUS_FILE" ]] && break 23 sleep 0.01 24 done 25 26 # check for errors 27 if [ `cat $SP_QUERY_RESULT_STATUS_FILE` == 1 ]; then 28 echo "Nothing found to SELECT ${SP_SELECTED_TABLE}" 29 exit $SP_BUNDLE_EXIT_SHOW_AS_HTML_TOOLTIP 30 fi 31 32 # remove file hand shake files 33 rm -f $SP_QUERY_RESULT_STATUS_FILE 34 rm -f $SP_QUERY_FILE 35 36 37 # process the result 38 cat $SP_QUERY_RESULT_FILE | perl -e 39 40 # title 41 $firstline = <>; 42 43 # column 44 chomp(my @file=<>); 45 my $columns = join(", ", @file); 46 $columns =~ s/"/`/g; 47 print "SELECT $columns FROM $ENV{‘SP_SELECTED_TABLE‘}\n" 48 49

Sequel自動生成Select語句