Oracle中大文本数据类型,

Clob    长文本类型   (MySQL中不支持,使用的是text)
Blob    二进制类型

MySQL数据库,

Text      长文本类型TINYTEXT:      256 bytesTEXT:          65,535 bytes        => ~64kbMEDIUMTEXT:    16,777,215 bytes    => ~16MBLONGTEXT:      4,294,967,295 bytes => ~4GB
Blob    二进制类型

例如:
建表

CREATE TABLE test(id INT PRIMARY KEY AUTO_INCREMENT,content LONGTEXT,  -- 文本字段img LONGBLOB    -- 图片字段
);

存储文本时是以字符类型存储,存储图片时是以二进制类型存储,具体使用的设置参数方法,和获取数据方法不同。
例如:

// 存储文本时
// 存储时,设置参数为字符流 FileReader reader
pstmt.setCharacterStream(1, reader);
// 获取参数时
// 方式1:
Reader r = rs.getCharacterStream("content");
// 获取长文本数据, 方式2:
System.out.print(rs.getString("content"));// 存储二进制图片时
// 设置参数为2进制流 InputStream in
pstmt.setBinaryStream(1, in);
// 获取2进制流
InputStream in = rs.getAsciiStream("img");
/*** 保存照片* */
@Test
public void test2(){String sql = "insert into test(img) values(?)";try{con = JDBCUtil.getConnection();pstmt = con.prepareStatement(sql);// 设置参数// 获取文本File file = new File("f:/a.jpg");InputStream in = new FileInputStream(file);// 设置参数为2进制流pstmt.setBinaryStream(1, in);// 执行sqlpstmt.executeUpdate();in.close();}catch (Exception e) {e.printStackTrace();}finally{try {JDBCUtil.close(con, pstmt);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}/*** 获取照片* */
@Test
public void test3(){String sql = "select * from test where id=?;";try{con = JDBCUtil.getConnection();pstmt = con.prepareStatement(sql);// 设置参数pstmt.setInt(1, 2);// 执行查询rs = pstmt.executeQuery();while(rs.next()){byte[] buff = new byte[1024];InputStream in = rs.getAsciiStream("img");int l=0;OutputStream out = new FileOutputStream(new File("f:/1.jpg"));while((l=in.read(buff))!=-1){out.write(buff, 0, l);}in.close();out.close();}}catch (Exception e) {e.printStackTrace();}finally{try {JDBCUtil.close(con, pstmt);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}

MySQL存储文本和图片相关推荐

  1. mysql存储新闻文字图片的字段类型

    mysql存储新闻文字图片的字段类型,使用text类型. mysql中text是大字段类型对应oracle中应该是clob(处理大长度的字符串),varchar类型对应varchar2.

  2. scrapy豆瓣爬虫mysql存储名字有图片的问题(关于utf8mb4)

    若干知识点 1.数据库cursor.fetchall()的返回类型: out: [{'detail_link': 'https://movie.douban.com/subject/1291546/' ...

  3. mysql存储和读取图片

    首先,介绍一下mysql相关的数据类型:MySQL中有四种BLOB类型,TinyBlob(最大255Byte), Blob(最大65K), MediunBlob(16M), LongBlob(最大4G ...

  4. mysql 存储文本数据类型_MYSQL中的五种数据类型

    MYSQL中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型 字符型 VARCHAR VS CHAR VARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要.他们都是用来储存字符串长度 ...

  5. mySql存储,读取图片

    step1 创建表 step2   数据库链接工具类 package qq; import java.sql.Connection; import java.sql.DriverManager; im ...

  6. mysql怎么放入图片_往MySQL中存储图片的方法

    1 介绍 在设计到数据库的开发中,难免要将图片或音频文件插入到数据库中的情况.一般来说,我们可以同过插入图片文件相应的存储位置,而不是文件本身,来避免直接向数据库里插入的麻烦.但有些时候,向MySQL ...

  7. mysql存储图片_Python

    MySQL存储图片的二进制,其字段设置为blob属性,二进制数据 1.连接数据库 import pymysql import sysconn=pymysql.connect(host='localho ...

  8. java用mysql存储图片_Java存储图片到Mysql

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 [1]视图层 action="${ctx}/web/UserInforServlet?method=userInforServlet" ...

  9. mysql数据库存歌_如何在mysql中存储音乐和图片文件

    标签: 如何在mysql中存储音乐和图片文件? 果你想把二进制的数据,比如说图片文件和HTML文件,直接保存在你的MySQL数据库,那么这篇文章就是为你而写的! 我将告诉你怎样通过HTML表单来储存这 ...

最新文章

  1. 计算机组成原理读写周期波形图,第3章存储器层次结构-1讲述.ppt
  2. 使用VMware Infrastructure Client中的VMware Server 2.0.x的管理
  3. keras merge
  4. 制作最小Linux系统并且让其在新的虚拟机上运行
  5. vue 保留两位小数 不能直接用toFixed(2) ?
  6. asp.net的get和post请求
  7. OpenGL的简单研究-开端
  8. Python 'takes exactly 1 argument (2 given)' Python error
  9. 华为0基础——(练习用)挑7
  10. Angular getOrCreateInjectable的实现原理调试
  11. 使用命令行结合jq提取出Kubernetes配置文件里的secret信息
  12. [python] 之 常用内建函数
  13. Eclipse中@author的修改
  14. win11菜单栏的推荐项目怎么取消 windows11取消推荐项目的设置方法
  15. dml操作mysql_数据库DML操作(DCL了解)
  16. 聚合函数和group by
  17. typedef NS_ENUM 等枚举介绍
  18. mysql中怎么防止数据丢失
  19. CoffeeScript笔记
  20. k8s_day03_02

热门文章

  1. 【附源码】计算机毕业设计java医院门诊分诊系统设计与实现
  2. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java智慧民政服务平台xl2r9
  3. pycharm使用SSH连接linux服务器
  4. 蒙塔卡罗算法在数学建模中的应用
  5. 华为全屋智能vs小米智能家居,谁适合全屋智能?
  6. 【可解释性机器学习】解释基于Scikit-learn进行文本分类的pipeline及结果
  7. 微软拟建统一通信平台 实施大范围战略扩张
  8. 人脸识别系统通信协议调研
  9. 新单位工作一个月了,应该写点东西总结一下了
  10. 如何调整ps界面为黑色背景