Navicat 部落格

使用 Navicat 在 MySQL 中儲存圖像 2020 年 1 月 8 日,由 Robert Gravelle 撰寫

近年來,網路應用程式中的圖像數量一直在穩步增長。而且還需要區分不同大小的圖像,例如縮圖、網路顯示圖像等。例如,我最近開發了一個顯示新聞項目的應用程式,其中每個項目都有縮圖和主要文章圖像。而另一個應用程式顯示大和小的公司標識。

大多數情況下,圖像可以儲存在 網路伺服器上,然後使用 URL 參考。這僅需要將路徑字元儲存在資料庫中,而無需是存儲圖像本身。但是,有時這是不可行的,例如應用程式對檔案系統的權限不足。在這些情況下,你可以將圖像直接儲存在資料庫中,然後使用應用程式碼載入它們。

Navicat 開發和管理工具為圖像管理提供了出色的支援。在本篇文章中,我們將學習 Navicat 如何使儲存圖像變得簡單。在這次示範中,我將使用 MySQL 8 資料庫和 Navicat Premium ,但相同的程序也將適用於其他關聯式資料庫。

設計資料表

在 MySQL 中,用於圖像存儲的首選資料類型是 BLOB。但是,實際上有三種 BLOB 類型。你選擇的類型取決於要儲存圖像的大小。如有疑問,請選擇更大容量的 BLOB 類型!這是三種 BLOB 類型:

  • BLOB:最多可以處理 65,535 個位元組的資料。
  • MEDIUMBLOB:支援的最大長度為 16,777,215 個位元組。
  • LONGBLOB:可儲存多達 4,294,967,295 個位元組的資料。

考慮到這一點,這是一個非常適合縮圖圖像的資料表定義,而且不會太大:

table_def (39K)

除了圖像本身以外,你可能會發現儲存有關圖像的其他資訊,例如 ID、名稱、描述、大小、類型(JPEG、GIF、BITMAP 等)、類別也很有用。

將圖像載入至 images 資料表

使用 Navicat 時無需撰寫 SQL 程式碼即可載入圖像。取而代之,你可以使用標準的檔案瀏覽器來找出和插入圖像檔案。

無論何時,在網格或表單檢視中檢視資料表內容時,都可以從資料類型下拉式選單中選取 Navicat 表達資料的方式:

data_type_dropdown (13K)

在下拉式選單中選擇「圖像」會在資料表或列內容下方顯示一個圖像預覽窗格:

open_file_icon (29K)

在檔案預覽的左邊,你可找到三個圖示:「載入」、「儲存到磁碟」和「清除」。若要載入圖像,只需按一下「載入」圖示,然後使用作業系統的標準「檔案瀏覽器」對話方塊選取圖像。插入後,圖像及其大小(以位元組為單位)將顯示在預覽窗格中:

image_preview (74K)

請注意,上圖需要 MEDIUMBLOB,因為其大小超過 65,535 位元組!

總結

在今天的文章中,我們學習了如何使用 Navicat Premium 15 將圖像儲存在 MySQL 8 資料庫中。

現在是購買 Navicat Premium 的絕佳時機,因為版本 15 增加了 100 多項增強功能,並包括一些新功能,可為你提供比以往更多建置、管理和維護資料庫的方式!

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