mysql中text 最大长度为65,535(2的16次方–1)字符的TEXT列。
如果觉得text长度不够,可以选择:
1、MEDIUMTEXT最大长度为16,777,215
2、LONGTEXT最大长度为4,294,967,295
使用方法:
mysql中的text对应oracle中的clob,又分为TINYTEXT, TEXT, MEDIUMTEXT,LONGTEXT, 都是表示数据长度类型的一种。
语法:[ UNSIGNED ] mediutext
TINYTEXT: 256 bytes
TEXT: 65,535 bytes =>~64kb
MEDIUMTEXT: 16,777,215 bytes =>~16MB
扩展资料:text等字段需要慎重使用,多个text字段会报错,Row size too large 表示行的内容太多了。
修改方法:
1、首先查询下参数的值:
mysql>SELECT @@global.max_sort_length
2、然后去设置这个值:(数字根据需要自行填写)
mysql>SET GLOBAL max_sort_length=2048
当排序时只使用该列的前max_sort_length个字节。max_sort_length的 默认值是1024;该值可以在启动mysqld服务器时使用–max_sort_length选项进行更改。
text 和 char varchar blob这几种类型的区别:
char:定长,最大255个字符
varchar:变长,最大65535个字符(既是单列的限制,又是整行的限制)
text:变长,有字符集的大对象,并根据字符集进行排序和校验,大小写不敏感
blob:变长,无字符集的二进制大对象,大小写敏感
读取mysql数据库文本字段的值方法如下:public void read() {
try {
//连接数据库
conn = JdbcUtils.getConnection()
//查询resume字段,text格式
String sql = "select resume from testclob where id=1"
pt = conn.prepareStatement(sql)
//执行查询并返回结果
rs = pt.executeQuery()
if (rs.next()) {
// rs.getCharacterStream读取该字段
Reader reader = rs.getCharacterStream("resume")
//定义字符数组来存放读取值
char buffer[] = new char[1024]
while ((reader.read(buffer)) != -1) {
//打印
System.out.println(buffer)
}
reader.close()
}
} catch (Exception e) {
e.printStackTrace()
} finally {
JdbcUtils.release(conn, pt, rs)
}
}
读取mysql数据库文本字段的值方法如下:public void read() {
try {
//连接数据库
conn = JdbcUtils.getConnection()
//查询resume字段,text格式
String sql = "select resume from testclob where id=1"
pt = conn.prepareStatement(sql)
//执行查询并返回结果
rs = pt.executeQuery()
if (rs.next()) {
// rs.getCharacterStream读取该字段
Reader reader = rs.getCharacterStream("resume")
//定义字符数组来存放读取值
char buffer[] = new char[1024]
while ((reader.read(buffer)) != -1) {
//打印
System.out.println(buffer)
}
reader.close()
}
} catch (Exception e) {
e.printStackTrace()
} finally {
JdbcUtils.release(conn, pt, rs)
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)