码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 实战演练 | 使用 Navicat 在 MySQL 中存储图像


    近年来,Web应用程序中的图像数量一直在稳定增长。还需要在不同尺寸的图像之间进行区分,例如缩略图,网络显示图像等。例如,我最近开发的一个应用程序显示新闻项目,其中每个项目都有缩略图和主要文章图像。另一个应用程序显示大小的公司徽标。

    大多数情况下,图像可以存储在网络服务器上,然后使用URL进行引用。这仅需要将路径字符串存储在数据库中,而不是图像本身。但是,有时这是不可行的,例如应用程序对文件系统的权限不足。在这些情况下,您可以将图像直接存储在数据库中,然后使用应用程序代码加载它们。

    Navicat 开发和管理工具为图像管理提供了出色的支持。在今天的博客中,我们将学习Navicat如何使存储图像变得简单。出于演示目的,我将针对MySQL 8数据库使用 Navicat Premium (点击 这里,下载14天免费全功能试用版),但相同的过程也将适用于其他关系数据库。

    设计表

    在MySQL中,用于图像存储的首选数据类型是BLOB。 但是,实际上有三种BLOB。 选择哪种图像取决于要存储的图像大小。 如有疑问,请转到更大容量的BLOB! 以下是三种BLOB类型:

    • BLOB:最多可以处理65,535字节的数据。
    • MEDIUMBLOB:支持的最大长度为16,777,215字节。
    • LONGBLOB:最多存储4,294,967,295字节的数据。

    考虑到这一点,这是一个非常适合缩略图图像的表定义,但不会太大:

    除了图像本身,您可能会发现存储有关图像的其他信息也很有用,例如ID,名称,描述,大小,类型(JPEG,GIF,BITMAP等),类别等。

    将图像加载到images表中

    使用Navicat,无需编写SQL代码即可加载图像。 相反,您可以使用标准的文件浏览器来查找和插入图像文件。

    无论何时在“网格”或“表单”视图中查看表内容,都可以从数据类型下拉列表中选择希望Navicat处理数据的方式:

    从下拉菜单中选择“图像”会在表/行内容下方添加一个图像预览窗格:

    在文件预览的左侧,您将找到三个图标:“加载”,“保存到磁盘”和“清除”。 要加载图像,只需单击“加载”图标,然后使用操作系统的标准“文件浏览器”对话框选择图像。 插入后,图像及其大小(以字节为单位)将显示在预览窗格中:

    请注意,上图需要MEDIUMBLOB,因为其大小超过65,535字节!

    总结

    在今天的博客中,我们学习了如何使用Navicat Premium 将图像存储在 MySQL 8数据库中。

    往期回顾 

    1. 招募 Navicat Monitor 3.0 监控工具体验官 | 好礼相送
    2. 保姆级教程 | Navicat 人工备份和自动备份
    3. Navicat 16 正式支持 OceanBase 全线数据库产品
    4. Navicat 16 即将支持 Redis
    5. 免费试用 Navicat 16
    6. Navicat 20年发展史 | 1999 年成立于中国香港
    7. SQL 语句中 WHERE 1=1 的作用
    8. SQL 中计算总行数的百分比
    9. 互动有礼活动进行中 | 奖品为价值 819 元 Navicat Premium
    10. 假冒网站引发多重安全风险 | 官方严正声明:切勿在非官方渠道购买或下载 Navicat 软件
  • 相关阅读:
    react-创建组件的两种方式
    深入浅出,SpringBoot整合Quartz实现定时任务与Redis健康检测(二)
    《安卓安装包管理后台》——后端端springboot源码部署
    [附源码]SSM计算机毕业设计教学辅助系统JAVA
    iOS15.6 正式版终于发布,适合“养老”的版本来了
    python学习04多线程
    利用谷歌云跑代码
    Realtime Data Processing at Facebook
    华为公司 java 面试题
    数据库设计
  • 原文地址:https://blog.csdn.net/weixin_53935287/article/details/128203584
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号