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. # wait for Sequel Pro; status file will be written to disk if query was finished
  19. while [ ]
  20. do
  21. [[ -e "$SP_QUERY_RESULT_STATUS_FILE" ]] && break
  22. sleep 0.01
  23. done
  24.  
  25. # check for errors
  26. if [ `cat $SP_QUERY_RESULT_STATUS_FILE` == ]; then
  27. echo "Nothing found to SELECT ${SP_SELECTED_TABLE}"
  28. exit $SP_BUNDLE_EXIT_SHOW_AS_HTML_TOOLTIP
  29. fi
  30.  
  31. # remove file hand shake files
  32. rm -f $SP_QUERY_RESULT_STATUS_FILE
  33. rm -f $SP_QUERY_FILE
  34.  
  35. # process the result
  36. cat $SP_QUERY_RESULT_FILE | perl -e '
  37.  
  38. # title
  39. $firstline = <>;
  40.  
  41. # column
  42. chomp(my @file=<>);
  43. my $columns = join(", ", @file);
  44. $columns =~ s/"/`/g;
  45. print "SELECT $columns FROM $ENV{'SP_SELECTED_TABLE'}\n"
  46.  
  47. '

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. Android4.0Sd卡移植之使用vold自动挂载sd卡

    在cap631平台上移植android4.0,发现内核驱动没有任何问题,能够读写,当总不能挂载. 后来发现是因为自动挂载需要vold的支持.vold程序负责检查内核的 sysfs 文件系统,发现有SD ...

  2. iOS关于蓝牙连接的简单介绍与使用

    下面是两台iPhone6连接同一台蓝牙设备的结果: **成功连接**** peripheral: <CBPeripheral: 0x1700f4500, identifier = 50084F6 ...

  3. SharePoint 解决方案手动打包简单介绍

    介绍:在使用SharePoint中,我们经常需要做的就是打包解决方案,我们来介绍下SharePoint解决方案的手动部署,我自己觉得,解决方案是SharePoint中非常好的一个功能,部署和使用起来相 ...

  4. 面试之路(8)-BAT面试题之数组和链表的区别

    两种数据结构都是线性表,在排序和查找等算法中都有广泛的应用 各自的特点: 数组: 数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素.但是如果要在数组中增加一个 ...

  5. C# 如何将PDF转为多种图像文件格式(Png/Bmp/Emf/Tiff)

    PDF是一种在我们日常工作学习中最常用到的文档格式之一,但常常也会因为文档的不易编辑的特点,在遇到需要编辑PDF文档内容或者转换文件格式的情况时让人苦恼.通常对于开发者而言,可选择通过使用组件的方式来 ...

  6. IT咨询顾问:一次吐血的项目救火

    年后的一个合作公司上线了一个子业务系统,对接公司内部的单点系统.我收到该公司的技术咨询:项目启动后没有规律的突然无法登录了,重新启动后,登录一断时间后又无法重新登录,对方技术人员一头雾水不知道什么原因 ...

  7. Django(三)runserver 命令源码分析

    应用环境 windows7 pycharm2018 profession python3.6 django2.0 我们在pycharm 启动django项目时,常常有这么一个命令操作: python ...

  8. Tihinkphp3.2整合最新版阿里大鱼进行短信验证码发送

    阿里大鱼最新下载地址:阿里大鱼SDK下载 或者从官网进行下载:阿里大鱼SDK官网下载 下载完成后,将压缩包内的api_sdk文件夹放到ThinkPHP\Library\Vendor目录下,修改文件名为 ...

  9. 学习MQ(二)基本概念

    学习MQ(二)基本概念 这次简单罗列一下MQ的基本概念,还有我对它们的理解 1.queue manager 队列管理器,这是MQ系统中最上层的一个概念.每一个queue manager都有一个侦听器, ...

  10. MTCNN人脸检测 附完整C++代码

    人脸检测 识别一直是图像算法领域一个主流话题. 前年 SeetaFace 开源了人脸识别引擎,一度成为热门话题. 虽然后来SeetaFace 又放出来 2.0版本,但是,我说但是... 没有训练代码, ...