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

相关推荐

  • 数据库与数据库软件的安装「终于解决」

    数据库与数据库软件的安装「终于解决」1.先把SplServer解压 2.解压后出来Evaluation_CHS 3.点进去,然后点SETUP 4.点击安装,然后点击全新SQL 5.选择Developer版本 6.数据库引擎服务框打勾,下

    2023-05-18
    99
  • Redis 的持久化[通俗易懂]

    Redis 的持久化[通俗易懂]原文链接: https://www.changxuan.top/?p=1386 Redis 是一个非关系型的内存数据库,使用内存存储数据是它能够进行快速存取数据的原因之一。 在实际应用中,常

    2023-04-15
    112
  • 腾讯云分布式数据库TDSQL在银行传统核心系统中的应用实践

    腾讯云分布式数据库TDSQL在银行传统核心系统中的应用实践本文是腾讯云TDSQL首席架构师张文在腾讯云Techo开发者大会现场的演讲实录,演讲主题是《TDSQL在银行传统核心系统中的应用实践》。 我是TDSQL架构师张文,同时也是TDSQL的开发人员之一。今

    2023-04-20
    117
  • redisposition_redis node

    redisposition_redis nodePredis Predis 适用于 PHP 5.3 以上版本在 Redis 使用,其中包括了集群的使用。 主要功能 支持各个版本的 Redis(从 2.0 到 3.0 以及 unstable) 使用…

    2023-01-24
    114
  • excel常用函数之截取指定字符

    excel常用函数之截取指定字符本文主要说的是Excel常用的三种截取函数:LEFT、RIGHT、MID。1、LEFT函数(1)定义:从一个文本字符串的第一个字符开始返回指定个数的字符。(2)语法:LEFT(text,[num_chars])text必需。包含要提取的字符的文本字符串。num_chars可选。指定要由LEFT提取的字符的数量。num_chars必须是大于等于0的整数。如果num_chars大于文本长度,则LEFT返回全部文本。如果省略num_chars,则假定其……

    2023-03-02
    113
  • 服务器上的mysql拒绝访问_拒绝时最常使用的方法有什么

    服务器上的mysql拒绝访问_拒绝时最常使用的方法有什么场景 在Windows7中打开任务管理器–服务下 找到mysql的服务点击启动时提示: 拒绝访问 这是因为权限不够导致的不能启动sql服务。 点击 任务管理器右下角的服务 在这里就可以正常启动服务

    2022-12-18
    121
  • Python os.environ模块:环境变量的管理

    Python os.environ模块:环境变量的管理os.environ模块是Python提供的用于对系统环境变量进行管理的工具,简单而言,它是一个存储环境变量的字典。环境变量是指在操作系统中定义的以键值对的形式存在的一系列变量,这些变量用于存储系统相关的信息,例如当前用户的登录名、操作系统的安装目录、Python安装路径等。在本文中,我们将详细介绍os.environ模块的用法,并演示如何使用os.environ来设置、获取和删除环境变量。

    2023-12-16
    71
  • 分布式 | DBLE 之 SQL 解析[通俗易懂]

    分布式 | DBLE 之 SQL 解析[通俗易懂]作者:路路 热爱技术、乐于分享的技术人,目前主要从事数据库相关技术的研究。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 数据库中间件与数据库有…

    2023-02-22
    109

发表回复

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