MySQL 使用客户端以及SELECT 方式查看 BLOB 类型字段内容总结
Posted 极光雨雨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 使用客户端以及SELECT 方式查看 BLOB 类型字段内容总结相关的知识,希望对你有一定的参考价值。
SELECT 使用查询语句的方式
一般情况下直接使用客户端打开表后 BLOB 类型的字段只能直接看到字段的大小看不到内容,例如:
这样的
此时可以通过 CAST 函数将内容的类型转换后得出实际的查询结果例如:
这里 CAST 为类型转换函数,不仅可以 BLOB 转 CHAR 或 VARCHAR 其他的也可以
post_message 是我的表中类型为 BLOB 的字段
SELECT CAST(post_message AS CHAR) FROM `notification_log` ;
如果需要看某一条,则在后面加上 where 条件即可,这里的大写仅仅是我的习惯,也可以小写
实际得到结果如下:
这里存储的是一个JSON 串,如果你存的是其他普通内容也可以看得出来
客户端方式
以最常见的 navicat 为例这里介绍
首先选中当前 BLOB 字段 然后右键如下选择
弹出后选择保存为 1.txt 格式,名称随意自己起一个就可以,不要重复即可
最终直接打开 txt 文本即可看到内容,txt 会自行将内容转为一般的字符
mysql查看编码格式以及修改编码格式
1.进入mysql,输入show variables like \'character%\';
查看当前字符集编码情况,显示如下:
其中,character_set_client为客户端编码方式;
character_set_connection为建立连接使用的编码;
character_set_database数据库的编码;
character_set_results结果集的编码;
character_set_server数据库服务器的编码;
只要保证以上四个采用的编码方式一样,就不会出现乱码问题。
2.修改数据库的编码格式
方法一:命令为:set character% = utf8;
例如:set character_set_client =utf8;
但是这个修改只是暂时的,限于当前会话,一旦数据库退出,就会失效
方法二:修改my.cnf文件
命令:vi /etc/my.cnf(提示:my.cnf文件的具体位置因安装版本或系统而异)
找到[client] 添加:
default-character-set=utf8
找到[mysqld] 添加:
default-character-set=utf8
然后重启mysql服务。
但是,此时发现,mysql根本无法启动
解决方法:重新打开my.cnf文件,
找到[mysqld] :
将default-character-set=utf8 改成 character-set-server=utf8
重新启动mysql,再次登陆mysql,输入命令:show variables like \'character%\';查看编码,发现编码已改变为utf8
附:
MySQL字符集的原理介绍。摘录于官方文档。http://dev.mysql.com/doc/refman/5.1/zh/charset.html
关于字符集的详细介绍和例子:
http://dev.mysql.com/doc/refman/5.1/zh/charset.html (第10章:字符集支持)。
以上是关于MySQL 使用客户端以及SELECT 方式查看 BLOB 类型字段内容总结的主要内容,如果未能解决你的问题,请参考以下文章
mysql的show status如何查看某个select查询扫描了多少行