在MySQL数据库中存储图片的方法可以分为两种,一种是将图片的二进制数据存储到表中;另一种是将图片的路径存储到表中,即将图片存储到磁盘上,同时在表中存储图片的路径。下面我们将分别介绍这两种方法的操作。
1. 将图片的二进制数据存储到表中
//创建表
CREATE TABLE `image` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`image_data` mediumblob COMMENT '图片数据',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
//插入数据
INSERT INTO image(image_data) values(LOAD_FILE('/path/to/image.jpg'));
//查询数据
SELECT id,image_data FROM image WHERE id=1;
2. 将图片的路径存储到表中
//创建表
CREATE TABLE `image` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`image_path` varchar(255) COMMENT '图片路径',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
//插入数据
INSERT INTO image(image_path) values('/path/to/image.jpg');
//查询数据
SELECT id,image_path FROM image WHERE id=1;
无论是哪种方法,都需要在应用程序中进行相关的处理,例如在页面中显示图片,需要进行数据读取和格式转换等操作。