CLOB和BLOB的区别

21人阅读 评论(0) 收藏 举报

CLOB 定义

  数据库中的一种保存文件所使用的类型。

  Character Large Object

  SQL 类型 CLOB 在 JavaTM 编程语言中的映射关系。SQL CLOB 是内置类型,它将字符大对象 (Character Large Object) 存储为数据库表某一行中的一个列值。默认情况下,驱动程序使用 SQL locator(CLOB) 实现 Clob 对象,这意味着 CLOB 对象包含一个指向 SQL CLOB 数据的逻辑指针而不是数据本身。Clob 对象在它被创建的事务处理期间有效。

  在一些数据库系统里,也使用Text 作为CLOB的别名,比如SQL Server

BLOB的含义

  BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器。

  在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。

  BLOB是一个大文件,典型的BLOB是一张图片或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传、下载或者存放到一个数据库)。

  根据Eric Raymond的说法,处理BLOB的主要思想就是让文件处理器(如数据库管理器)不去理会文件是什么,而是关心如何去处理它。

但也有专家强调,这种处理大数据对象的方法是把双刃剑,它有可能引发一些问题,如存储的二进制文件过大,会使数据库的性能下降。在数据库中存放体积较大的多媒体对象就是应用程序处理BLOB的典型例子。

CLOB和BLOB的区别

  CLOB使用CHAR来保存数据。 如:保存XML文档。

       BLOB就是使用二进制保存数据。 如:保存位图。

JAVA里面对CLOB的操作

  在绝大多数情况下,使用2种方法使用CLOB

  1 相对比较小的,可以用String进行直接操作,把CLOB看成字符串类型即可

  2 如果比较大,可以用 getAsciiStream 或者 getUnicodeStream 以及对应的 setAsciiStream 和 setUnicodeStream 即可

  读取数据

  ResultSet rs = stmt.executeQuery("SELECT TOP 1 * FROM Test1");

  rs.next();

  Reader reader = rs.getCharacterStream(2);

  插入数据

  PreparedStatement pstmt = con.prepareStatement("INSERT INTO test1 (c1_id, c2_vcmax) VALUES (?, ?)");

  pstmt.setInt(1, 1);

  pstmt.setString(2, htmlStr);

  pstmt.executeUpdate();

  更新数据

  Statement stmt = con.createStatemet();

  ResultSet rs = stmt.executeQuery("SELECT * FROM test1");

  rs.next();

  Clob clob = rs.getClob(2);

  long pos = clob.position("dog", 1);

  clob.setString(1, "cat", len, 3);

  rs.updateClob(2, clob);

  rs.updateRow();



BLOBCLOB都是大字段类型,BLOB是按二进制来存储的,而CLOB是可以直接存储文字的。其实两个是可以互换的的,或者可以直接用LOB字段代替这两个。但是为了更好的管理ORACLE数据库,通常像图片、文件、音乐等信息就用BLOB字段来存储,先将文件转为二进制再存储进去。而像文章或者是较长的文字,就用CLOB存储,这样对以后的查询更新存储等操作都提供很大的方便
查看评论

oracle中Blob和Clob类型的区别与用法

BLOB和CLOB都是大字段类型,BLOB是按二进制来存储的,而CLOB是可以直接存储文字的。其实两个是可以互换的的,或者可以直接用LOB字段代替这两个。但是为了更好的管理ORACLE数据库,通常像图...
  • baidu_25310663
  • baidu_25310663
  • 2015-04-25 14:30:52
  • 5231

Oracle中Varchar2/Blob/Clob用法详解

Oracle中Varchar2/Blob/Clob用法详解 数据库中提供了三种字段类型Varchar2、Blob和Clob用于存储字符串或二进制数据,其中Varchar2、Clob用于存储字...
  • u014232091
  • u014232091
  • 2014-04-21 22:21:49
  • 2211

CLOB、BLOB___CLOB与BLOB的区别

  • 2012年10月14日 14:27
  • 16KB
  • 下载

CLOB与BLOB的区别及用途

BLOB和CLOB都是大字段类型,BLOB是按二进制来存储的,而CLOB是可以直接存储文字的。其实两个是可以互换的的,或者可以直接用LOB字段代替这两个。但是为了更好的管理 ORACLE数据库, ...
  • qq_35776392
  • qq_35776392
  • 2017-02-15 12:53:58
  • 559

oracle中的Blob和Clob区别

  • 2010年08月27日 14:10
  • 4KB
  • 下载

oracle中blob,clob,nclob主要区别是什么?

BLOB全称为二进制大型对象(Binary Large Object)。它用于存储数据库中的大型二进制对象。可存储的最大大小为4G字节 CLOB CLOB全称为字符大型对象(Character Lar...
  • claram
  • claram
  • 2008-08-05 19:17:00
  • 15899

oracle里面的long,long raw,raw,clob,blob区别

ORACLE LOB类型提供了BFILE、BLOB、CLOB、NCLOB让我们来存储最大尺寸有4G的无结构的数据块(例如:文本、图像、声音和视频等)。并且它们右以以高效的、任意的和分段操作的方式存取数...
  • hhuck
  • hhuck
  • 2010-09-15 09:23:00
  • 6250

oracle中的blob类型,clob类型,nclob类型主要区别是什么?

BLOB :  全称为二进制大型对象(Binary Large Object)。它用于存储数据库中的大型二进制对象。可存储的最大大小为4G字节 CLOB :  CLOB全称为字符大型对象(Cha...
  • fiwrc
  • fiwrc
  • 2017-03-15 16:47:12
  • 1430

Oracle中的BLOB和CLOB字段类型的区别

Oracle中的BLOB和CLOB字段类型的区别1、BLOB是按二进制来存储的,而CLOB是可以直接存储文字的;2、BLOB字段可以存储图片、文件和音乐等,而CLOB可以存储文章或较长文字的内容。...
  • you23hai45
  • you23hai45
  • 2016-02-24 23:53:57
  • 5835

Oracle与MySQL数据库大型对象类型(TinyBlob Blob Mediumblob LongBlob / BLOB CLOB NCLOB BFILE )的区别

MySQL数据库中BLOB类型分为以下四种 TINYBLOB可变长二进制数据,最多255个字节BLOB可变长二进制数据,最多2的16次方-1个字节 即64KMEDIUMBLOB可变长二进制数...
  • jjm460428795
  • jjm460428795
  • 2016-01-22 10:55:00
  • 3175
    个人资料
    等级:
    访问量: 1559
    积分: 68
    排名: 155万+
    文章分类