如何让 mysql 命令行客户端不打印 select * 中的 blob 字段
探索一些具有 blob 字段的表。我如何使用命令行客户端执行 select *
并让它抑制 blob 字段的打印(或截断为标准字段宽度),而不是在屏幕上滚动一堆二进制垃圾?这是 mysql 5.1 客户端。只是想执行 select * 而不是单独列出所有非 blob 字段以进行开发。
Exploring some tables which have blob fields. How could I do a select *
with the command line client and have it surpress the printing (or truncate to a standard field width) the blob fields rather than scrolling a bunch of binary junk on the screen? This is with mysql 5.1 client. Just want to do a select * and not list all of the non-blob fields individually, for development.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这可以在 MySQL 中本机执行,但它相当笨重:
相对于 MySQL 过程,我通常更喜欢 BASH 别名/函数,因为它们在系统之间更易于传输:
像这样调用:
如果您在 MySQL 客户端控制台中,请使用
Ctrl- Z
暂停程序并放入 shell。然后使用blobless db table
检查该blobless数据。fg
会将挂起的作业(即MySQL客户端)恢复到前台。您可以在
~/.my.cnf
中设置默认 MySQL 连接详细信息 (howto) 使您不必在命令行上提供主机/用户/密码 - BASH 也将使用它功能。This can be performed natively in MySQL, but it's quite unwieldy:
I generally prefer BASH aliases/function to MySQL procedures as they're more transportable between systems:
Invoke like so:
If you are in the MySQL client console use
Ctrl-Z
to suspend the program and drop to the shell. Then useblobless db table
to check that blobless data.fg
will restore the suspended job (i.e. MySQL client) to the foreground.You can set default MySQL connection details in
~/.my.cnf
(howto) to save you having to supply host/user/pass on the command line - this will also be used by BASH functions.