在 MySQL 数据库中存储图像
Preet Sanghavi
2024年2月15日
在本教程中,我们旨在了解如何在 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;
上述代码块将生成以下输出:
正如我们在上面看到的,stu_photograph
列是使用 BLOB
数据支持创建的,用于存储图像。
注意
在将图像添加到
stu_photograph
列之前,请确保在 MySQL 用户中添加图像权限。我们可以通过登录根目录并执行以下命令来授予 FILE
权限:
GRANT FILE ON *.* TO 'mysql_user'@'localhost';
作者: Preet Sanghavi