MSSQL 使用 sqlcmd 列出所有資料庫名稱

Windows 的 MSSQL 想要列出所有資料庫名稱,然後再執行備份或者其他命令,可以怎麼做呢?

閱讀全文〈MSSQL 使用 sqlcmd 列出所有資料庫名稱〉

使用 SchemaCrawler 將 ERD 做最簡化的線圖

當資料庫 Table 太多,相關的 PK、FK 就會很多,畫出 ERD 的線圖自然會複雜到看不懂

想要盡量把 ERD 的線拉直,盡量不要看起來飛來飛去的,可以靠 SchemaCrawler 來直接生成

閱讀全文〈使用 SchemaCrawler 將 ERD 做最簡化的線圖〉

PHP PDO Prepare Debug 印出 SQL 語法

PHP 都建議使用 Prepare 來避免 SQL injection 等等的,但是在 Debug 的時候,最困擾的就是如何把當下 SQL 語法印出來。

此套件支援 Debug 主要是可以將 SQL 語法印出。

閱讀全文〈PHP PDO Prepare Debug 印出 SQL 語法〉

MySQL SQL 語法 需要注意 型態自動轉換問題

MySQL SELECT、UPDATE、DELETE 加上 WHERE 條件,想說應該就沒有問題,但是若型態不對,可能會出現意想不到的結果。

閱讀全文〈MySQL SQL 語法 需要注意 型態自動轉換問題〉

Babelfish:讓 PostgreSQL 接受 SQL Server 語法的專案

AWS Open Source Babelfish 專案,這個專案主要目的是讓原本建立在 SQL Server 的應用程式,可以簡單的轉換到 PostgreSQL 上。

閱讀全文〈Babelfish:讓 PostgreSQL 接受 SQL Server 語法的專案〉

MySQL Log 所有 SQL 語法

MySQL 最常使用的是 Log Slow Query,但是除了 Slow Query 外,還有情況是要抓不知哪來的 SQL 語法,或者要查是哪些語法一起來造成 Lock 等等的問題,所以想要知道 MySQL 到底都接收到哪些 SQL Query?

要怎麼將所有的 SQL 語法都記錄下來呢?

閱讀全文〈MySQL Log 所有 SQL 語法〉

MySQL 多層的目錄階層 一次查詢完成

資料庫設計分類、目錄等等的結構,要去考量有幾個階層,當階層不明確,或者階層很多,通常會用下述設計方式(想要幾個階層都可以):

  • cate_id / cate_name / cate_parent_id (預設 cate_parent_id = 0)

依照這種設計法,每次查詢就一直找到自己的父節點id,當找到 cate_parent_id = 0 就找到最上層了

這種作法就會需要寫個 while 一直往上查詢上去,有沒有辦法一行 SQL 語法直接達成呢?

閱讀全文〈MySQL 多層的目錄階層 一次查詢完成〉