Mysql Workbench—在开发过程中组织运行常用SQL查询的最佳方法

Mysql Workbench—在开发过程中组织运行常用SQL查询的最佳方法,mysql,sql,intellij-idea,autocomplete,mysql-workbench,Mysql,Sql,Intellij Idea,Autocomplete,Mysql Workbench,我是一名java开发人员,使用Mysql Workbench作为数据库客户端,IntelliJ IDEA作为IDE。我每天对数据库进行5到50次SQL查询 在Mysql Workbench/IntelliJ IDEA中是否有一种方便的方法来保存和重新运行经常使用的查询,以便我可以: 避免键入已再次使用的完整查询 顺利访问我已经使用过的查询列表(例如通过自动完成) 如果使用Mysql Workbench/IDEA无法做到这一点,您能否建议提供此功能的好工具 谢谢 如果您已经为mysql安装了SQL

我是一名java开发人员,使用Mysql Workbench作为数据库客户端,IntelliJ IDEA作为IDE。我每天对数据库进行5到50次SQL查询

在Mysql Workbench/IntelliJ IDEA中是否有一种方便的方法来保存和重新运行经常使用的查询,以便我可以:

  • 避免键入已再次使用的完整查询
  • 顺利访问我已经使用过的查询列表(例如通过自动完成)
  • 如果使用Mysql Workbench/IDEA无法做到这一点,您能否建议提供此功能的好工具


    谢谢

    如果您已经为mysql安装了SQLyog,那么您可以使用收藏夹菜单选项保存查询,只需单击一下,它就会自动将保存的查询写入查询编辑器。

    如果您已经为mysql安装了SQLyog,那么您可以使用收藏夹菜单选项保存您的查询查询,只需单击一下,它就会自动将保存的查询写入查询编辑器。

    前面的答案是正确的-取决于查询浏览器的版本,它们被称为收藏夹或代码段-问题是您无法创建子文件夹来对它们进行分组。保持标签打开是一种选择——但有时浏览器会“死掉”——而你又回到了原点0。所以我提出了一个显而易见的解决方案——创建一个数据库表!我有几个“元数据”字段用于描述-与查询关联的项目;查询解决的问题;和实际的查询

    前面的答案是正确的-取决于查询浏览器的版本,它们被称为收藏夹或代码段-问题是您无法创建子文件夹对它们进行分组。保持标签打开是一种选择——但有时浏览器会“死掉”——而你又回到了原点0。所以我提出了一个显而易见的解决方案——创建一个数据库表!我有几个“元数据”字段用于描述-与查询关联的项目;查询解决的问题;和实际的查询

    您可以将查询库保存在一个SQL文件中,并在WB打开时加载它(当您重新启动WB时,它会自动打开,并且该文件在上次关闭时已打开)。当您想要运行一个特定的查询时,将插入符号放在它的文本中,然后按Ctrl+Enter(Mac上的Cmd+Enter)只运行这个查询。SQL文件的组织完全由您决定。你比任何“最爱”的解决方案都能给你更多的自由。您甚至可以有多个包含分组语句的文件


    此外,MySQL Workbench有一个查询历史记录(请参见“输出”选项卡),该历史记录保存到磁盘上,因此您甚至可以在编写查询后的一个月内返回查询。

    您可以将查询库保存在一个SQL文件中,并在WB打开时加载该文件(在重新启动WB时自动打开,并且该文件在上次关闭时打开)。当您想要运行一个特定的查询时,将插入符号放在它的文本中,然后按Ctrl+Enter(Mac上的Cmd+Enter)只运行这个查询。SQL文件的组织完全由您决定。你比任何“最爱”的解决方案都能给你更多的自由。您甚至可以有多个包含分组语句的文件


    此外,MySQL Workbench有一个查询历史记录(请参见“输出”选项卡),该历史记录保存到磁盘上,因此您甚至可以在编写查询后的一个月内返回查询。

    创建存储过程,每个查询一个(或查询序列)。给他们起个简短的名字(以避免自动完成)

    例如,要了解表
    foo
    中的行数(
    从foo中选择COUNT(*;

    一次性设置:

    DELIMITER //
    CREATE PROCEDURE foo_ct
    BEGIN;
        SELECT COUNT(*) FROM foo;
    END //
    DELIMITER ;
    
    用法:

    CALL foo_ct();
    

    您可以在中传递参数以进行微小的更改。传递表名有点复杂,但日期数等很实用,而且可能很容易。

    创建存储过程,每个查询(或查询序列)一个存储过程。给他们起个简短的名字(以避免自动完成)

    例如,要了解表
    foo
    中的行数(
    从foo中选择COUNT(*;

    一次性设置:

    DELIMITER //
    CREATE PROCEDURE foo_ct
    BEGIN;
        SELECT COUNT(*) FROM foo;
    END //
    DELIMITER ;
    
    用法:

    CALL foo_ct();
    

    您可以在中传递参数以进行微小的更改。传递一个表名有点复杂,但日期的数量等都很实用,而且可能很简单。

    Workbench应该记住您的选项卡,因此您可以保留一些用于这些目的的标签;此外,我还将它们保存为sql文件,因为Workbench可能会开始记错东西;此外,我还将它们保存为sql文件,因为Workbench可能会开始记错东西。