CLOB、BLOB , CLOB与BLOB的区别

CLOB、BLOB , CLOB与BLOB的区别CLOB 定义 数据库中的一种保存文件所使用的类型。 Character Large Object SQL 类型 CLOB 在 JavaTM 编程语言中的映射关系。SQL CLOB 是内置类

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存储,这样对以后的查询更新存储等操作都提供很大的方便。

代码100分

oracle中Blob和Clob类型的区别

1.BLOB   
 BLOB全称为二进制大型对象(Binary   Large   Object)。它用于存储数据库中的大型二进制对象。可存储的最大大小为4G字节   
2.CLOB   
 CLOB全称为字符大型对象(Character   Large   Object)。它与LONG数据类型类似,只不过CLOB用于存储数据库中的大型单字节字符数据块,不支持宽度不等的字符集。可存储的最大大小为4G字节

     通常像图片、文件、音乐等信息就用BLOB字段来存储,先将文件转为二进制再存储进去。而像文章或者是较长的文字,就用CLOB存储,这样对以后的查询更新存储等操作都提供很大的方便。

JAVA里面对CLOB的操作

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

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

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

  读取数据

代码100分1 ResultSet rs = stmt.executeQuery("SELECT TOP 1 * FROM Test1");
2 rs.next();
3 Reader reader = rs.getCharacterStream(2);

  插入数据 

1 PreparedStatement pstmt = con.prepareStatement("INSERT INTO test1 (c1_id, c2_vcmax) VALUES (?, ?)");
2 pstmt.setInt(1, 1);
3 pstmt.setString(2, htmlStr);
4 pstmt.executeUpdate();

  更新数据

复制代码
复制代码
代码100分1 Statement stmt = con.createStatemet();
2 ResultSet rs = stmt.executeQuery("SELECT * FROM test1");
3 rs.next();
4 Clob clob = rs.getClob(2);
5 long pos = clob.position("dog", 1);
6 clob.setString(1, "cat", len, 3);
7 rs.updateClob(2, clob);
8 rs.updateRow();
复制代码

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10380.html

(0)
上一篇 2022-12-28
下一篇 2022-12-28

相关推荐

  • 什么是用户画像——从零开始搭建实时用户画像(一)「建议收藏」

    什么是用户画像——从零开始搭建实时用户画像(一)「建议收藏」用户画像 简介 ​ 用户画像,作为一种勾画目标用户、联系用户诉求与设计方向的有效工具,用户画像在各领域得到了广泛的应用。 用户画像最初是在电商领域得到应用的,在大数据时代背景下,用户信息充斥在网络中,

    2023-03-03
    128
  • 缓存和数据库一致性问题有哪些_redis缓存数据一致性例子

    缓存和数据库一致性问题有哪些_redis缓存数据一致性例子1、想要提高应用的性能,可以引入「缓存」来解决
    2、引入缓存后,需要考虑缓存和数据库一致性问题,可选的方案有:「更新数据库 + 更新缓存」、「更新数据库 + 删除缓存」
    3、更新数据库 + 更新缓存方

    2023-05-06
    116
  • MySQL 性能优化小结

    MySQL 性能优化小结基础概念简述 锁 数据库通过锁机制来解决并发场景 — 共享锁(读锁)和排他锁(写锁)。读锁是不阻塞的,多个客户端可以在同一时刻读取同一个资源;写锁是排他的,并且会阻塞其他的读锁和写锁。 简单提下乐观锁

    2023-02-17
    132
  • redis-cli 远程_redis命令行查看数据

    redis-cli 远程_redis命令行查看数据1. redis-cli命令行远程连接redis服务 redis-cli -h host -p port -a password host:远程redis服务器host port:远程redis服务端

    2023-03-14
    125
  • 华为云GaussDB数据库荣获国际CC EAL4+级别认证[亲测有效]

    华为云GaussDB数据库荣获国际CC EAL4+级别认证[亲测有效]摘要:近日,华为云GaussDB企业级分布式数据库内核正式通过了全球知名独立认证机构欧洲SGS Brightsight实验室的安全评估,获得全球权威信息技术安全性评估标准CC EAL4+级别认证。 本

    2023-06-11
    114
  • Elasticsearch通过elasticsearch-curator 插件来定期删除Index「终于解决」

    Elasticsearch通过elasticsearch-curator 插件来定期删除Index「终于解决」Elasticsearch管理中索引的管理非常重要。基于磁盘空间和性能的考量,索引的生命周期管理显得尤为重要。Curator允许对索引创建、删除等操作,下面是我们借助 elasticsearch-cu

    2023-03-11
    125
  • Python与API调用

    Python与API调用API是指应用程序接口,是一组预定义的函数,用于完成特定任务。众所周知,在现代互联网时代,很多应用程序都需要通过API调用来实现各种基于网络的功能。Python作为一种高级编程语言,具有简单易学、易读易写等诸多优点,在API调用领域也得到了广泛的应用。本文将会从多个方面详细阐述Python与API调用的关系,介绍Python如何调用API,并分享一些代码示例,以帮助读者更好地理解这个话题。

    2024-04-16
    53
  • IDEA中database连接时提示Connection to xx@localhost failed.

    IDEA中database连接时提示Connection to xx@localhost failed.使用IDEA连接数据库时,有时会出现连接不上的问题,并提示错误[08001] Could not create connection to database server.如下: 解决方法:在URL…

    2023-02-18
    124

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注