码农知识堂 - 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 软件
  • 相关阅读:
    Web Development with Python Step1
    JavaScript系列之赋值运算符
    在地图上可视化地理空间数据的12种方法
    如何使用SHC对Shell脚本进行封装和源码隐藏
    python基础简介
    vue中transition的使用
    配置高级 --------打包与运行---配置高级---多环境开发---日志
    LeetCode 26. 删除有序数组中的重复项
    分布式调度 Elastic-job
    java中this关键字功能
  • 原文地址:https://blog.csdn.net/weixin_53935287/article/details/128203584
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号