【问题标题】:Saving commands for later re-use in MySQL?保存命令以供以后在 MySQL 中重用?
【发布时间】:2010-03-18 21:36:22
【问题描述】:

MySQL 中的等价物是:

  1. 保存命令以供以后重复使用。

    eg: alias command1='select count(*) from sometable;' 然后我只需键入命令 1 即可获取 SomeTable 的计数。

  2. 只保存一个字符串,或者说是命令的一部分。

    eg: select * from sometable where $complex_where_logic$ order by attr1 desc; WHere $complex_where_logic$ 是我希望保存而不需要一直写出来的东西

【问题讨论】:

    标签: mysql


    【解决方案1】:

    另一种方法是使用您的 $complex_where_logic$ 创建一个视图并查询视图而不是表:

    CREATE VIEW my_view AS SELECT * FROM sometable WHERE $complex_where_logic$
    
    SELECT my_column FROM my_view ORDER BY some_column
    

    每当您查询视图时,您始终会获得最新数据。在内部,MySQL 运行CREATE VIEW 语句中给出的SELECT 并查询结果以获得当前SELECT 的结果。因此,与单个查询相比,视图不会提高性能。使用视图有两个主要优点:

    • 您有更简单的 SELECT 语句,因为您不必一次又一次地键入复杂的 WHERE 或 JOIN 语法
    • 您可以使用它来控制用户权限,例如允许用户访问视图但不能访问原始表;这在您的示例中没有用,但是 - 例如 - 您可以考虑仅包含聚合数据的视图

    【讨论】:

      【解决方案2】:

      此“模板”功能可能是客户端工具的一部分。基本上我用蟾蜍。它具有录制宏功能。我觉得是可以的。

      【讨论】:

      • 我希望我可以在 Linux 上使用 Toad。
      【解决方案3】:

      我认为您正在寻找的答案不是“存储过程”...?

      【讨论】:

      • 这对 1 有点作用。但似乎应该有其他东西可以简单地保存字符串。我猜这种类型的事情是从 GUI 前端完成的。
      【解决方案4】:

      我发现最好的解决方案是任何用于 SQL 查询(TOAD、mysql 查询浏览器等)的丰富 GUI。它们提供了保存和浏览命令的能力,当然还有更多。

      【讨论】:

        猜你喜欢
        • 2016-10-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-06
        • 2014-08-01
        • 1970-01-01
        • 2011-10-07
        • 1970-01-01
        相关资源
        最近更新 更多