【问题标题】:Get the SQL query result without the table format获取不带表格格式的SQL查询结果
【发布时间】:2013-05-18 16:12:38
【问题描述】:

--disable-column-names 选项一样,我们是否可以选择不使用表格式来获取 SQL 查询?例如:

mysql -u username -p password  --disable-column-names --execute "select name from test"

结果如下:

-----
| A |
| B |
| C |
| D |
-----

是否可以使用下面的一些sql程序选项修饰符得到查询结果,没有表格格式

我想要这个:

A
B
C
D

【问题讨论】:

  • 你可以使用SELECT .. INTO OUTFILE 'file_name' export_options

标签: mysql sql shell


【解决方案1】:

-B 标志添加到mysql

mysql -B -u username -ppassword \
    --disable-column-names \
    --execute "select name from mydb.test"
-B, --batch: Print results in nontabular output format.

--execute: Execute the statement and quit.

请注意,-B/--batch 也启用了--silent 开关。

【讨论】:

  • 很适合导出 - 在 mysql 客户端中有什么方法吗?
  • -b 已弃用,请改用--batch
  • 无论如何要从 sql 脚本中完成?
  • --database <database-name>选项添加到命令行是个好主意。
【解决方案2】:

虽然其他答案是偶然的,但正确的开关实际上是-s,它是--silent 的缩写。

您可能还需要为--raw 输出额外指定-r,这也会禁用字符转义,否则换行符、制表符、空字符和反斜杠将分别表示为\n、\t、\0 和\。

   ·   --silent, -s

       Silent mode. Produce less output. This option can be given multiple
       times to produce less and less output.

       This option results in nontabular output format and escaping of
       special characters. Escaping may be disabled by using raw mode; see
       the description for the --raw option.

   ·   --raw, -r

       For tabular output, the “boxing” around columns enables one column
       value to be distinguished from another. For nontabular output (such
       as is produced in batch mode or when the --batch or --silent option
       is given), special characters are escaped in the output so they can
       be identified easily. Newline, tab, NUL, and backslash are written
       as \n, \t, \0, and \\. The --raw option disables this character
       escaping.

       The following example demonstrates tabular versus nontabular output
       and the use of raw mode to disable escaping:

           % mysql
           mysql> SELECT CHAR(92);
           +----------+
           | CHAR(92) |
           +----------+
           | \        |
           +----------+
           % mysql -s
           mysql> SELECT CHAR(92);
           CHAR(92)
           \\
           % mysql -s -r
           mysql> SELECT CHAR(92);
           CHAR(92)
           \

- 甲骨文公司

MySQL 5.7 06/07/2018

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多