Navicat 部落格

計算 SQL 中字串的匹配項 2020 年 6 月 5 日,由 Robert Gravelle 撰寫

儘管 SQL 不像 Java、C++ 和 PHP 這樣的程序式程式設計語言精通字串處理,但 SQL 確實提供了許多處理字串資料的函式。可以使用這些函式來修剪多餘的空格或字元,判斷字串的長度以及串連多個欄位值。字串函式非常值得我們了解學習,因為它們可以幫助提高程式碼的效率和可讀性。在今天的文章中,我們將學習如何使用幾個原生的 SQL 字串函式來計算 char、varchar 或 text 欄位中字串的匹配項。

MySQL 預設值:是好是壞?- 第 2 部分:何時使用預設值 2020 年 5 月 28 日,由 Robert Gravelle 撰寫

第 2 部分:何時使用預設值

你可能已經知道,在不可為 null 的欄上設定預設值有助於擺脫那些討厭的「Field 'xyz' doesn't have a default value」錯誤。希望你也意識到,防止發生錯誤訊息本身並不是提供預設值的有效理由。提供預設欄值的原因很多,有些好,有些沒有那麼好。我們在第 1 部分探討了 MySQL 嚴格 SQL 模式的影響,以及如何使用 Navicat for MySQL 15 檢視和設定它。在今天的後續文章中,我們將討論何時使用預設值以及如何選用恰當的預設值。

MySQL 預設值:是好是壞?- 第 1 部分:嚴格 SQL 模式 2020 年 5 月 22 日,由 Robert Gravelle 撰寫

第 1 部分:嚴格 SQL 模式

當你沒有為不可為 null 的欄提供數值時出現錯誤可能會令你倍感煩惱。有一種方法可以透過為這些欄設定預設值來將此類錯誤發生的機會降至最低。似乎很容易解決,但就如所有事情,魔鬼是在細節中。你必須格外小心,不要為了簡化 INSERT 而在資料表中加入一堆一般且無用的資料。在今天的文章中,我們將學習 MySQL 的嚴格 SQL 模式的影響,以及如何使用 Navicat for MySQL 15 檢視和設定它。而在第 2 部分中,我們將介紹在什麼情況下採用預設值(以及何時不採用)。

按分組列出 Top N 查詢 2020 年 5 月 14 日,由 Robert Gravelle 撰寫

Top N 查詢是按數值遞減排序的前幾筆記錄的查詢。通常,這些是使用 TOP 或 LIMIT 子句完成的。問題是,Top N 結果集被限制為資料表中最前的值,而沒有任何分組。GROUP BY 子句可以幫助解決這個問題,但僅限於每個分組的單項最前結果。如果你想要每個類別的前 5 筆記錄,GROUP BY 本身將無濟於事。這並不意味著它無法完成。實際上,在今天的文章中,我們正正要學習如何按分組建構 Top N 查詢。

資料庫或應用程式是自訂函式的最好地方嗎? 2020 年 5 月 6 日,由 Robert Gravelle 撰寫

要決定是在資料庫中還是在應用程式程式碼中建立函式可能是一項很艱巨的工作。在很多情況下,你不會意識到自己作出了錯誤的選擇,直到麻煩出現在面前為止。更糟糕的是,許多開發人員的決定都是因為他們熟悉 SQL 還是應用程式編碼!一個較好的方法是依靠技術的優勢來決定。在今天的文章中,我們將詳細分析選擇使用者定義函式(user-defined function,簡稱 UDF)還是在應用程式端的函式的決策過程。

Navicat 文章
頻道記錄
分享
部落格封存檔