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();

