十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一般mysql命令行中加;号代表一行命令的结束
成都创新互联公司2013年成立,是专业互联网技术服务公司,拥有项目成都网站建设、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元湖里做网站,已为上家服务,为湖里各地企业和个人服务,联系电话:13518219792
\c 可以退出当前行命令,
\q或者exit退出mysql命令行
1、exit
2、help可以学到更多命令
3、有些命令行按CTRL+d也可以退出
这位网友对 MySQL 官方手册里的 hex 和 unhex 函数有些疑问: 自己实验结果和手册中给的结果有些差异。
手册上是这样写的:
完后自己实验结果反而这样:
第一条语句里 X'616263' 和*UNHEX(HEX('abc'))*的执行结果和手册不一致,第二条语句执行结果和手册完全一致。
我自己虚拟机上的实验:结果也不正确。
我猜想:函数的执行结果肯定是对的(大厂不可能犯这样的低级错误,有错也是我自身的问题),但是此处进制没做正常转换,一定是客户端在结果转码上有哪些地方默认有变。为此查询 MySQL 命令行的 status 结果:
上面包含一行: Binary data as: Hexadecimal 这一行意思是说 MySQL 命令行把二进制字符打印为十六进制字符。
到这里应该判断下这两个十六进制字符的编码:结果都为 binary 。
既然编码为 binary ,直接用 convert 函数转码即可:转码后的结果正确。
到这里,问题是解释通了,不过能不能每次不进行转码而直接查呢? 当然可以。MySQL 命令行客户端有个选项( --binary-as-hex )用来控制是否打印二进制数据为十六进制,MySQL 命令行默认开启。
只需关闭这个选项即可, 写入配置文件(my.cnf里[mysql]段下)或者是命令行带入都可以:结果正确。
还有一个通用选项: --skip-binary-as-hex , 带上后效果一样。
需要注意的是:这个选项也同时影响字段类型为 BLOB ,BINARY 等的表数据输出。
1.没办法的办法,ctrl+c,完全退出
2.可以输入\c 废弃本次语句,若输入后没效果是因为未保持当前输入语句完整匹配
如:
mysql show tables';
'
' \c
' '\c
mysql