2010-03-11 93 views
0

什麼將是在MySQL中equivalant:保存命令以供以後在MySQL中重用?

  1. 保存以備後用的命令。

    例如:alias command1 ='select sometable(*)from sometable;' 然後,我只需輸入命令1即可獲得SomeTable的計數。

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

    例如:select * from sometable其中$ complex_where_logic $ order by attr1 desc; 其中$ complex_where_logic $是我想保存,而不必保留寫出

回答

0

我發現最好的解決方案就是任何豐富的GUI查詢(TOAD,mysql查詢瀏覽器等)。它們提供了保存命令並瀏覽它們的能力,當然還有更多。

0

這個「模板」功能,可能是客戶端工具的一部分。基本上我使用蟾蜍。它具有記錄宏功能。我認爲這是可能的。

+0

我希望我可以在Linux上使用Toad。 – Zombies 2010-03-11 12:41:21

0

我認爲你正在尋找的答案不是'存儲過程'...?

+0

這將工作1。但它似乎應該有其他的東西,只會保存字符串。我想這種類型的東西是從GUI前端完成的。 – Zombies 2010-03-11 14:11:11

2

另一種方法是創建您的$ 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語法並再次
  • ,你可以用它來控制用戶的權限,例如讓用戶訪問視圖,但不能訪問原始表;這在你的例子中沒有用,但是 - 例如 - 你可以考慮只包含聚合數據的視圖