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 即可
讀取數據
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();
更新數據
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();