mysql中clob和blob的区别:1、含义不同,clob指代的是字符大对象,而blob指代的是二进制大对象;2、作用不同,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()))));
执行结果
读取数据
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(); }
【相关推荐:mysql视频教程】
以上是mysql中clob和blob的区别是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

ACID属性包括原子性、一致性、隔离性和持久性,是数据库设计的基石。1.原子性确保事务要么完全成功,要么完全失败。2.一致性保证数据库在事务前后保持一致状态。3.隔离性确保事务之间互不干扰。4.持久性确保事务提交后数据永久保存。

MySQL既是数据库管理系统(DBMS),也与编程语言紧密相关。1)作为DBMS,MySQL用于存储、组织和检索数据,优化索引可提高查询性能。2)通过SQL与编程语言结合,嵌入在如Python中,使用ORM工具如SQLAlchemy可简化操作。3)性能优化包括索引、查询、缓存、分库分表和事务管理。

MySQL使用SQL命令管理数据。1.基本命令包括SELECT、INSERT、UPDATE和DELETE。2.高级用法涉及JOIN、子查询和聚合函数。3.常见错误有语法、逻辑和性能问题。4.优化技巧包括使用索引、避免SELECT*和使用LIMIT。

MySQL是一种高效的关系型数据库管理系统,适用于存储和管理数据。其优势包括高性能查询、灵活的事务处理和丰富的数据类型。实际应用中,MySQL常用于电商平台、社交网络和内容管理系统,但需注意性能优化、数据安全和扩展性。

SQL和MySQL的关系是标准语言与具体实现的关系。1.SQL是用于管理和操作关系数据库的标准语言,允许进行数据的增、删、改、查。2.MySQL是一个具体的数据库管理系统,使用SQL作为其操作语言,并提供高效的数据存储和管理。

InnoDB使用redologs和undologs确保数据一致性和可靠性。1.redologs记录数据页修改,确保崩溃恢复和事务持久性。2.undologs记录数据原始值,支持事务回滚和MVCC。

EXPLAIN命令的关键指标包括type、key、rows和Extra。1)type反映查询的访问类型,值越高效率越高,如const优于ALL。2)key显示使用的索引,NULL表示无索引。3)rows预估扫描行数,影响查询性能。4)Extra提供额外信息,如Usingfilesort提示需要优化。

Usingtemporary在MySQL查询中表示需要创建临时表,常见于使用DISTINCT、GROUPBY或非索引列的ORDERBY。可以通过优化索引和重写查询避免其出现,提升查询性能。具体来说,Usingtemporary出现在EXPLAIN输出中时,意味着MySQL需要创建临时表来处理查询。这通常发生在以下情况:1)使用DISTINCT或GROUPBY时进行去重或分组;2)ORDERBY包含非索引列时进行排序;3)使用复杂的子查询或联接操作。优化方法包括:1)为ORDERBY和GROUPB


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

记事本++7.3.1
好用且免费的代码编辑器