zoukankan      html  css  js  c++  java
  • LOB数据类型

    概述

    由于无结构的数据往往都是大型的,存储量非常大,而LOB(large object)类型主要用来支持无结构的大型数据.用户可以用LOB数据类型来存储大型的无结构数据,特别是文本,图形,视频和音频等多媒体数据,系统还提供了随机访问这些LOB类型数据的有效办法.

    LOB数据类型可以分为以下几种:Oracle sun mysql jdk

    1. BLOB:二进制LOB类型,用户存放无结构的二进制数据,最大4GB. binary 二进制

    2. CLOB:字符LOB类型,用于存放字符数据,最大可以存储4GB. char character lob

    3. NLOB:字符LOB类型,和CLOB相同,支持国家字符集.多字符集 GBK

    4. BFILE:二进制文件类型,与数据库外的操作系统文件相关联,该文件存储二进制大对象.

    使用LOB类型数据的限制:

      系统不支持分布式LOB,用户不能在SELECT子句或WHERE子句中使用远程LOB定位器,也不能在DBMS_LOB包的子程序中使用远程定位器,也不能引用包含LOB属性的远程表中的对象.

      LOB列不能用于聚集表.

      LOB列不能出现在查询语句的GROUP BY,ORDER BY ,DISTINCT(去重复)之后,也不允许出现在分组函数和连接函数中.

      LOB类型不能出现在数组的定义中.

      LOB类型不能够出现在建有分区索引的表中.

      NCLOB类型不能作为对象类型的属性,当可以作为对象类型的方法的参数类型.

      不同的数据库系统提供大对象数据类型有所不同,上面我们介绍了Oracle数据库系统(DBA)用于存储大对象数据的相关数据类型,那么MySQL数据库和SQLServer2012数据库系统又使用哪些类型来存储这些LOB类型数据呢?

      MySQL数据库系统又使用了哪些类型来存储这些LOB类型数据呢?

      MySQLAB 对应Oracle用于存储LOB类型数据的数据类型: 十个亿 MariaDB MySQL

      BLOB和TEXT类型;

      MySQL的BLOB与LONBBLOB类型对应于Oracle的BLOB数据类型,而MySQL数据库的TEXT/LONGTEXT可以用于存储与Oracle数据库系统提供的CLOB类型数据.

      SQLServer2012数据库存储LOB类型的数据类型有:TEXT,VARBINARY,和IMAGE类型等,其中TEXT类型对应于Oracle数据库中的CLOB类型,而VARBINARY和IMAGE类型对应于Oracle中的BLOB类型.

     

    JDBC连接数据库的主要步骤:

    1. Class.forName("com.mysql.jdbc.Driver");//反射 类对象 四种

    2.获取连接 Connection conn=DriverManager.getConnection(URL,USER,PASSWORD);

    3.编写SQL语句并发送 PrepapredStatement pstm=conn.prepareStatement(sql);

    4.获得数据库返回结果 (ResultSet rs) 增删改(int)

    5.关闭资源 public static void closeResource(Connection conn,PreparedStatement pstm,ResultSet rs)

      Util参考案例:

    package com.guigu.jdbc;
    
    import java.sql.*;
    
    public class MySQLConnectionUtil {
        private static String DRIVER="com.mysql.jdbc.Driver";
        private static String URL="jdbc:mysql://127.0.0.1:3306/lob";
        private static String USERNAME="root";
        private static String PASSWORD="123456";
    
        public static Connection getConnection(){
            Connection connection=null;
            try {
                Class.forName(DRIVER);
                connection= DriverManager.getConnection(URL,USERNAME,PASSWORD);
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return connection;
        }
    
        public static void close(Connection connection, PreparedStatement preparedStatement, ResultSet resultSet){
    
                try {
                    if(resultSet!=null){
                    resultSet.close();
                    }
                    if (preparedStatement!=null){
                        preparedStatement.close();
                    }
                    if (connection!=null){
                        connection.close();
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
    
        }
    }

     

     

  • 相关阅读:
    docker for windows 中挂载文件到容器
    docker for windows 中 镜像 microsoft/donet 的文件结构
    window7下docker toolbox 启用数据卷报错: Error response from daemon: invalid mode:
    无法创建虚拟目录
    docker 内时区和宿主机差8个小时,怎么办?
    多线程之同时更改数据问题--启用lock
    Linux shell Bash的基本功能1
    Linux shell 脚本执行方式
    Linux vim编辑器使用技巧
    Linux vim编辑器命令
  • 原文地址:https://www.cnblogs.com/worth-/p/13616085.html
Copyright © 2011-2022 走看看