在 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