如何在mysql数据库(表)中插入图像?

时间:2013-02-05 09:53:37

标签: mysql database blob mysql-loadfile

我想将图像插入到像

这样的表中
 CREATE TABLE XX_SAMPLE(ID INT
                       ,IMAGE BLOB);

那么你可以帮忙形成如何将图像插入上表。

8 个答案:

答案 0 :(得分:28)

请尝试以下代码

INSERT INTO xx_BLOB(ID,IMAGE) VALUES(1,LOAD_FILE('E:/Images/jack.jpg'));

答案 1 :(得分:8)

您应该像LOAD_FILE那样使用:

LOAD_FILE('/some/path/image.png')

答案 2 :(得分:2)

你可以尝试这样的事情......

CREATE TABLE 'sample'.'picture' ( 
'idpicture' INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, 
'caption' VARCHAR(45) NOT NULL, 
'img' LONGBLOB NOT NULL, 
 PRIMARY KEY('idpicture')) TYPE = InnoDB;

或参考以下链接获取可能对您有帮助的教程和示例。

http://forums.mysql.com/read.php?20,17671,27914

http://mrarrowhead.com/index.php?page=store_images_mysql_php.php

http://www.hockinson.com/programmer-web-designer-denver-co-usa.php?s=47

答案 3 :(得分:2)

我对这个问题有三个答案:

  1. 在字符串中使用BLOB和CLOB数据类型并从SQL数据库中检索二进制数据是违反用户体验 UX最佳做法的,因此建议您使用涉及存储的技术图像的URL(或数据库中的任何二进制文件)。此URL将帮助用户应用程序检索和使用此二进制文件。

  2. 其次,BLOB和CLOB数据类型仅适用于多个SQL版本,因此在某些版本中,LOAD_FILE等函数或数据类型本身可能会遗漏。

  3. 第三次使用BLOB或CLOB。存储URL;让用户应用程序从项目目录中的文件夹中访问二进制文件。

答案 4 :(得分:1)

第1步:打开mysql工作台应用程序选择表。选择图像单元格,右键单击,选择“在编辑器中打开值” enter image description here

第2步:点击加载按钮,然后选择图片文件 enter image description here

步骤3:然后点击“应用”按钮enter image description here

第4步:然后应用查询保存图像。不要忘记图像数据类型为“ BLOB”。 第5步:您可以检查上传的图片 enter image description here

答案 5 :(得分:0)

如果我使用以下查询,

INSERT INTO xx_BLOB(ID,IMAGE) 
VALUES(1,LOAD_FILE('E:/Images/xxx.png'));

错误:没有这样的功能:LOAD_FILE

答案 6 :(得分:0)

我尝试了所有上述解决方案,但均失败了,它只是向数据库添加了一个空文件。

但是,我可以先将image(fileName.jpg)文件移到文件夹中(以我的情况为例,C:\ProgramData\MySQL\MySQL Server 5.7\Uploads),然后在命令下面执行,它对我有用,

INSERT INTO xx_BLOB(ID,IMAGE) VALUES(1,LOAD_FILE('C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/fileName.jpg'));

希望这会有所帮助。

答案 7 :(得分:-1)

这是在mysql工作台上-提供图像文件路径:

INSERT INTO XX_SAMPLE(id,image) VALUES(3,'/home/ganesan-pc/Documents/aios_database/confe.jpg');