引言
方法一:将图片以BLOB类型存储在数据库中
1. 创建表
CREATE TABLE images (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
image LONGBLOB NOT NULL
);
2. 插入图片
INSERT INTO images (name, image) VALUES ('example.jpg', LOADFILE('/path/to/example.jpg'));
注意:
LOADFILE()
函数要求MySQL服务器对指定路径有读取权限,且该路径必须在MySQL服务器的securefilepriv
变量指定的目录中(如果启用)。- 使用BLOB类型存储图片会增加数据库的大小,因此在存储大量图片时可能需要考虑性能和可扩展性问题。
方法二:将图片存储在文件系统中,并在数据库中存储路径
1. 存储图片
2. 创建表
CREATE TABLE images (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
path VARCHAR(255) NOT NULL
);
3. 插入图片路径
INSERT INTO images (name, path) VALUES ('example.jpg', '/uploads/example.jpg');