引言

方法一:将图片以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');

4. 读取图片

总结