使用SQL语句将图像插入MYSQL表

时间:2018-07-20 04:00:49

标签: mysql database web blob mysql-loadfile

我需要在MYSQL数据库表中插入图像。图像存储在本地磁盘中。我正在使用LOAD_FILE()插入图像,但它只存储路径而不是图像。

如果无法从本地磁盘插入,那我可以从哪里获得图像?请给我一个解决方案,说明将图像存储到数据库中需要哪些资源。

3 个答案:

答案 0 :(得分:0)

我不确定您的应用程序会做什么,但是我强烈建议您不要将图像直接存储到MYSQL数据库中,从长远来看,您的数据库会很慢。

要回答您的问题,您需要执行以下操作:-

第1步:创建MySQL表

创建一个带有blob类型字段的mysql表,以保存图像。

在我们的表格中,我们只有两个字段:

1)int类型的image_id

2)斑点类型的图像

这是创建表的查询:

创建表格图片( image_id int(10)NOT NULL auto_increment, 图像斑点 主键(image_id) );

步骤2:将图片插入表格

现在,我们可以使用insert into sql将图像插入表中。以下是sql的示例:

将图片插入图片值(1,LOAD_FILE('d:\ flower.gif'));

我们已使用MySQL的LOAD_FILE()函数将图像数据插入数据库。

插入数据后,您可以使用MySQL工具查看它。

希望能解决您的问题:)。

答案 1 :(得分:0)

而不是将图像放入数据库中。 只需将相对路径放入数据库和系统上的实际文件中即可。

获取1个基本目录:/ root / child / images

需要存储的图像是image1.jpg,image2.jpg等。

只需将“ image1.jpg”存储在数据库中即可。

因此,在获取数据时,请获取文件名,并将其与基本目录路径合并并获取它。

答案 2 :(得分:0)

我可以先将图像(fileName.jpg)文件移到以下文件夹中(以我的情况为例,C:\ProgramData\MySQL\MySQL Server 5.7\Uploads),然后在命令下方执行,它对我有用,< / p>

UPDATE tbl_name SET logo=LOAD_FILE('C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/fileName.jpg') where id='qweq12';

希望这会有所帮助。