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查询扫描了多少行

MySQL EXPLAIN 命令: 查看查询执行计划

mysql的binlog开启方式,查看方式.三种binlog模式介绍.以及使用binlog恢复数据.删除binlog

MySQL - 用户权限的查看以及用户删除

mysql 如何查询数据库事务是只读事务还是读

mysql优化--explain