在 MySQL 資料庫中儲存影象

Preet Sanghavi 2024年2月15日
在 MySQL 資料庫中儲存影象

在本教程中,我們旨在瞭解如何在 MySQL 資料庫中儲存影象。

標準 SQL 使用 BLOB(二進位制大物件)資料型別來儲存大量資料。

位元組或八位位元組的序列定義了一個二進位制字串,通常用於在 MySQL 資料庫中儲存大型影象或媒體檔案,例如音訊和視訊資料。BLOB 值可以靈活地根據要求將其寫為二進位制或字串值。

讓我們嘗試瞭解這是如何工作的。

首先,我們建立一個名為 student_details 的表,其中包含 stu_photograph 列。在這裡,影象的照片將儲存在 stu_photograph 列中。

-- Using the following table as an example:
CREATE TABLE stu_information(
 	stu_photograph BLOB
);

現在讓我們在表格中插入學生照片,其中 stu_photograph 作為需要放置影象的列。

注意
LOAD_FILE 函式中,我們輸入要上傳到 MySQL 資料庫中的影象路徑。此函式幫助我們將影象儲存在 BLOB 中。
-- This will insert a file in a BLOB column.
INSERT INTO stu_information (stu_photograph) VALUES(LOAD_FILE('/image_path/image_fileName.png'));

上面的程式碼將在表 student_details 中輸入學生資料。我們可以使用以下命令視覺化此表:

select * from stu_information;

上述程式碼塊將生成以下輸出:

在 mysql 中儲存影象

正如我們在上面看到的,stu_photograph 列是使用 BLOB 資料支援建立的,用於儲存影象。

注意
在將影象新增到 stu_photograph 列之前,請確保在 MySQL 使用者中新增影象許可權。

我們可以通過登入根目錄並執行以下命令來授予 FILE 許可權:

GRANT FILE ON *.* TO 'mysql_user'@'localhost';
作者: Preet Sanghavi
Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub