前面的文章已经详细解释了MySQL表对一条记录的长度限制,那么如果我们要储存大量的文字数据,而一条记录能够储存的字符数又是有限的,这时候要怎么做呢?别急,本文介绍的文本类型,能够帮到你。
● text类型介绍
text类型采用了长度索引和数据分离储存的方式,建表时,声明一个text字段,实际上表记录中只储存了text类型的长度索引,而真实的数据存放在另外的文件中,根据这个长度索引再去读取另一个文件,这种分离储存的方法避免了因为一条记录的长度限制,导致文本无法全部储存的情况。
到目前为止(MySQL5.6),一共有四种长度的text类型供选择,详细参数如下:
● text类型建表实例
//创建表t12,仅一列,tinytext类型列,能储存255个字符 mysql> create table t12(tx tinytext); //插入数据 mysql> insert into t12 values('此处能输入255个字符,超出的部分将被直接丢弃')
● blob类型介绍
blob(binary large object)全称二进制大对象,同text类型一样也能够储存字符,储存机制也完全相同,所不同的是blob将要储存的数据先转换成二进制,然后再储存到数据库文件中;
在不同的字符环境中,储存可能会丢失数据(比如将汉字储存到ASCII编码下),但几乎所有计算机,都能支持二进制编码,blob的做法就是将要储存的数据转化成二进制(0和1)再储存,这样不论字符集怎么转换,存入的都只是一堆0和1,读取时再翻译成当前环境编码即可。
到目前为止(MySQL5.6),一共有四种长度的blob类型可供选择,详细参数如下:
● blob类型建表实例
//看上去同text没有区别,输入的都是字符,但在储存到数据库文件之前,blob数据先被转换成了二进制再储存。 mysql> create table t13(bl tinyblob); mysql> insert into t13 values('此处能输入255个字符,超出的部分将被直接丢弃')
[**] 注:如文中未特别声明转载请注明出自:QingSword.COM