我喜欢mysql客户端程序在交互模式下生成的表输出,但是如果我尝试运行这样的sql脚本:
mysql -uroot mydb < myscript.sql
Run Code Online (Sandbox Code Playgroud)
我只得到制表符分隔输出.
mysql -uroot mydb -e 'select * from mytable'
Run Code Online (Sandbox Code Playgroud)
但是,它会以所需的表格格式生成输出.
如何获得第一个生成表格格式输出的命令?我不想要HTML输出,但是终端字符输出带有对齐的列和标题.
我正在尝试创建一个文件并在其中存储我的查询结果.我有一个包含单个查询的批处理文件,
USE database1;
SELECT * FROM table WHERE name = "abc" INTO OUTFILE output.txt;
QUIT
Run Code Online (Sandbox Code Playgroud)
使用执行此批处理文件,
mysql -u root -p -t -vvv < select.sql
Run Code Online (Sandbox Code Playgroud)
但是,结果不是表格格式,并且顶部缺少字段的名称.
100 abc Brown 32
101 abc Flair 25
102 abc McDonald 45
.
.
.
Run Code Online (Sandbox Code Playgroud)
如果我删除INTO OUTFILE语句并在终端上打印结果,那么工作正常.
+----+------+---------+-----+
| id | name | surname | age |
+----+------+---------+-----+
| 100| abc | Brown | 32|
| 101| abc | Flair | 25|
| 102| abc | McDonald| 45|
+----+------+---------+-----+
Run Code Online (Sandbox Code Playgroud)
如何在txt文件中实现上述功能?
UPDATE
特别感谢GreyBeardedGeek.在GreyBeardedGeek的帮助下,这是这个问题的解决方案.
批处理文件:
USE database1; …Run Code Online (Sandbox Code Playgroud)