站長資訊網
最全最豐富的資訊網站

mysql中clob和blob的區別是什么

mysql中clob和blob的區別:1、含義不同,clob指代的是字符大對象,而blob指代的是二進制大對象;2、作用不同,clob在數據庫中通常用來存儲大量的文本數據,即存儲字符數據,而blob用于存儲二進制數據或文件,常常為圖片或音頻。

mysql中clob和blob的區別是什么

本教程操作環境:windows7系統、mysql8版本、Dell G3電腦。

MySQL中的blob和clob的區別

1、含義不同

clob英文全稱:Character Large Object(字符大對象)

blob其全稱:binary large object(二進制大對象)

估計由英文名就能想到他們的作用,所以我們記東西的時候要聯想記憶,不能全靠死記硬背。

2、作用不同

clob在數據庫中通常用來存儲大量的文本數據,即存儲字符數據。

blob用于存儲二進制數據或文件,常常為圖片或音頻。

MySQL中的blob和clob的詳解示例

clob

clob用于存儲大量的文本數據。大字段的操作常常以流的方式處理。

相關類型如下:

類型 最大大小
TinyText 255字節
Text 65535字節(約65K)
MediumText 16 777 215字節(約16M)
LongText 4 294 967 295 (約4G)

創建person表

CREATE TABLE person (   name varchar(20),   address text );

插入數據

import java.io.File; import java.io.FileReader; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException;   public class clob { 	/** 	 * @param args 	 */ 	//驅動程序就是之前在classpath中配置的JDBC的驅動程序的JAR 包中 	public static final String DBDRIVER = "com.mysql.jdbc.Driver"; 	//連接地址是由各個數據庫生產商單獨提供的,所以需要單獨記住 	public static final String DBURL = "jdbc:mysql://192.168.0.4:3306/myDB"; 	//連接數據庫的用戶名 	public static final String DBUSER = "root"; 	//連接數據庫的密碼 	public static final String DBPASS = ""; 	 	public static void main(String[] args) throws Exception { 		Connection con = null;  		PreparedStatement stmt = null; 		try { 			//1、加載數據庫驅動程序 			Class.forName(DBDRIVER);  			//2、連接數據庫 			con = DriverManager.getConnection(DBURL,DBUSER,DBPASS);  			//3、創建Statement  			stmt = con.prepareStatement("insert into person(name,address) values(?,?)");			 			stmt.setString(1,"April"); 			stmt.setClob(2, new FileReader(new File("D:\work\info.txt")));        			 			//4、執行SQL語句 			stmt.executeUpdate();	 		}catch(SQLException e) { 			//5、異常處理 		} 		finally { 			//6、清理資源 			if(con !=null) 			{ 				con.close();  			} 			if(stmt!=null) 			{ 				stmt.close(); 			} 		}				 	} }

寫入也可以使用語句

stmt.setClob(2, new BufferedReader(new InputStreamReader(new ByteArrayInputStream("四川省成都市高新區".getBytes()))));

執行結果

mysql中clob和blob的區別是什么

讀取數據

stmt = con.prepareStatement("select * from person"); rs = stmt.executeQuery(); while(rs.next()) { 	Clob address = rs.getClob("address");  	Reader reader = address.getCharacterStream(); 			 	int temp = 0; 	while((temp = reader.read()) != -1)   	{ 		System.out.print((char)temp); 	} 	reader.close(); }

執行結果

四川省成都市高新區 浙江省杭州市西湖區

blob

blob用于存儲二進制數據,常常為圖片或音頻。

相關類型如下:

類型 最大大小
TinyBlob 255字節
Blob 65535字節(約65K)
MediumBlob 16 777 215字節(約16M)
LongBlob 4 294 967 295 (約4G)

創建student表

CREATE TABLE student (   name varchar(20),   image blob );

插入數據

stmt = con.prepareStatement("insert into student(name,image) values(?,?)");			 stmt.setString(1,"April"); stmt.setBlob(2, new FileInputStream("D:\work\April.png")); stmt.executeUpdate();

讀取數據

stmt = con.prepareStatement("select * from student"); rs = stmt.executeQuery(); while(rs.next()) { 	Blob image = rs.getBlob("image");  	InputStream in = image.getBinaryStream();  	OutputStream out = new FileOutputStream("D:\work\Harris.png"); 	int temp = 0; 	while((temp = in.read()) != -1)   	{ 		out.write(temp); 	} 	in.close(); 	out.close(); }

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
国产精品99久久久久久宅男| 亚洲国产日韩在线视频| 无码精品国产VA在线观看| 国产一区二区三区精品视频| www.久久精品| 精品91一区二区三区| 国产午夜亚洲精品不卡免下载| 这里只有精品视频在线| 国产亚洲美女精品久久| 日韩精品一区二区三区中文版| 亚洲国产精品成人AV在线 | 久久久久亚洲精品成人网小说| 中日韩精品电影推荐网站| 国产精品自产拍在线观看花钱看| 四虎成人精品国产永久免费无码 | 99在线视频精品| 久久精品国产成人| 国产精品区一区二区三在线播放 | 国产精品揄拍100视频| 伊人久久精品午夜| 日韩在线观看网站| 国产精品三级国语在线看| 精品剧情v国产在免费线观看| 亚洲午夜精品一区二区| 久久久精品午夜免费不卡| 综合人妻久久一区二区精品| 99久久99这里只有免费的精品| 国语自产精品视频| 中文字幕日韩精品无码内射 | 无码精品国产dvd在线观看9久| 久久国产乱子伦精品免费午夜| 亚洲福利精品电影在线观看| 国产精品无打码在线播放| 国产乱人伦偷精品视频| 久久99精品国产麻豆不卡| 三级精品视频在线播放| 在线成人精品国产区免费| 精品久久香蕉国产线看观看亚洲| 久久精品国产影库免费看| 久久久无码精品亚洲日韩蜜桃| 日产精品久久久久久久性色|