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

 # Check if one table is selected
if [ -z "$SP_SELECTED_TABLE" ]; then
echo "<font color=red>Please select a table.</font>"
exit $SP_BUNDLE_EXIT_SHOW_AS_HTML_TOOLTIP
fi if [ -z $SP_PROCESS_ID ]; then
echo "<font color=red>No front most connection window found!</font>"
exit $SP_BUNDLE_EXIT_SHOW_AS_HTML_TOOLTIP
fi # send query to Sequel Pro
echo "SELECT COLUMN_NAME FROM information_schema.columns WHERE TABLE_NAME ='${SP_SELECTED_TABLE}'" > "$SP_QUERY_FILE" # execute the SQL statement; the result will be available in the file $SP_QUERY_RESULT_FILE
open "sequelpro://$SP_PROCESS_ID@passToDoc/ExecuteQuery/csv" # wait for Sequel Pro; status file will be written to disk if query was finished
while [ ]
do
[[ -e "$SP_QUERY_RESULT_STATUS_FILE" ]] && break
sleep 0.01
done # check for errors
if [ `cat $SP_QUERY_RESULT_STATUS_FILE` == ]; then
echo "Nothing found to SELECT ${SP_SELECTED_TABLE}"
exit $SP_BUNDLE_EXIT_SHOW_AS_HTML_TOOLTIP
fi # remove file hand shake files
rm -f $SP_QUERY_RESULT_STATUS_FILE
rm -f $SP_QUERY_FILE # process the result
cat $SP_QUERY_RESULT_FILE | perl -e ' # title
$firstline = <>; # column
chomp(my @file=<>);
my $columns = join(", ", @file);
$columns =~ s/"/`/g;
print "SELECT $columns FROM $ENV{'SP_SELECTED_TABLE'}\n" '

Sequel自动生成Select语句的更多相关文章

  1. 使用Excel自动生成sql语句

    在近一段日子里,进入了新的项目组,由于项目需要,经常要将一些Excel表中的数据导入数据库中,以前并没有过多的接触过数据导入与数据处理,对于我来说比较痛苦,今天下午花了几个小时处理数据,但是同事给我提 ...

  2. 利用反射自动生成SQL语句(仿Linq)

    转:http://www.cnblogs.com/the7stroke/archive/2012/04/22/2465597.html using System; using System.Colle ...

  3. 谨慎使用MyBatis自动生成Where语句

    最近监控到类似这样一个慢查询: select XX_time from XXOrderInfo WHERE ( OrderId is not null and OrderId = N'xxxx') x ...

  4. springboot+mybatis+mysql 利用mybatis自动生成sql语句

    工具和环境 idea,mysql,JDK1.8 效果图如下 结构图如下 java resources sql文件 /* Navicat MySQL Data Transfer Source Serve ...

  5. 利用sql 存储过程把表中内容自动生成insert语句

    选中所在数据库 执行创建存储过程的sql CREATE proc [dbo].[spGenInsertSQL] (@tablename nvarchar(256),@sqlwhere varchar( ...

  6. Excel 提供数据 更新或者插入数据 通过函数 自动生成SQL语句

    excel 更新数据 ="UPDATE dbo.yt_vehicleExtensionBase SET yt_purchase_date='"&B2&"' ...

  7. navicat自动生成DDL语句

    场景:当我们在开发库修改表结构之后,需要把这些表结构的变化同步更新到生产库,这时候可以在Navicat中copy表结构变更的SQL语句. 当你点击了“设计表”进行修改表结构,在保存表结构之前点击“SQ ...

  8. 根据DELTA自动生成SQL语句

    上传客户端的CLIENTDATASET.delta到服务器的clientdataset.data,服务端解析clientdataset的数据生成相应的SQL语句. 相对于直接调用datasetprov ...

  9. 城市联动 - 自动生成SQL语句

    字段比较简单/  如果有需要可以自己定制字段和排序/ 一共二级城市联动, 本人业务需要, 所以就两层, 网上关于三层的挺多, 有需要可以借鉴/ 废话不多说, 先看效果图, 代码在下面 <?php ...

随机推荐

  1. 【Java编程】Java学习笔记<一>

    1.  高级语言的编译和执行方法可以归为两大基本技术:编译执行和解释执行.C/C++/Delphi是编译执行,basic/java/matlab是解释执行. 2.    尽管Java是解释执行的,也需 ...

  2. Learning ROS for Robotics Programming Second Edition学习笔记(五) indigo computer vision

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  3. Effective C++总结

    条款01:视C++为一个语言联邦(View C++ as a federation of languages.) C++主要的四个次语言: (1)C.说到底C++仍是以C为基础:(2)Object-O ...

  4. 修改Tomcat访问的端口号

    修改Tomcat端口号步骤: 1.找到Tomcat目录下的conf文件夹 2.进入conf文件夹里面找到server.xml文件 3.打开server.xml文件 4.在server.xml文件里面找 ...

  5. Useful Scripts for E-Business Suite Applications Analysts

    In this Document   Purpose   Questions and Answers   IMPORTANT:   1. How to find versions of files i ...

  6. LeetCode之“字符串”:Valid Palindrome

    题目链接 题目要求: Given a string, determine if it is a palindrome, considering only alphanumeric characters ...

  7. Linux - Bash shell的功能;内建命令type

    命令编修能力 (history): bash 的功能里头,相当棒的一个就是『他能记忆使用过的命令!』 这功能真的相当的棒!因为我只要在命令列按『上下键』就可以找到前/后一个输入的命令!而在很多 dis ...

  8. 数据结构之---二叉树C实现

    学过数据结构的都知道树,那么什么是树? 树(tree)是包含n(n>0)个结点的有穷集,其中: (1)每个元素称为结点(node): (2)有一个特定的结点被称为根结点或树根(root). (3 ...

  9. SSH框架项目开发命名规范

    SSH 框架项目开发命名规范   一.各层包及类命名规范   总体原则:包名所有字母小写,类名采用 "驼峰标识",具体如下:   1. Action 类      包命名规范:co ...

  10. 代码托管工具 git

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...