仅在MySQL中显示查询结果

Joh*_*ube -3 mysql alias output

如何执行MySQL查询并避免在输出中使用查询或别名?我尝试了""(空字符串)作为别名,但我没有得到预期的结果,因为我最终得到一个空行.

编辑:添加了一些代码

SELECT 
CONCAT("{\"counters\":{",
-- Total memory used calculation
    "\"mysql.total_memory\":",
    ((@@read_buffer_size + @@sort_buffer_size) * @@max_connections + @@key_buffer_size),",",
-- other monitored server status variables 
    GROUP_CONCAT(
        CONCAT("\"mysql.",LCASE(VARIABLE_NAME),"\":",VARIABLE_VALUE)
    )
,"}}")
FROM INFORMATION_SCHEMA.GLOBAL_STATUS
WHERE VARIABLE_NAME = "SLOW_QUERIES"
OR VARIABLE_NAME="Qcache_lowmem_prunes"
OR VARIABLE_NAME="SELECT_FULL_JOIN"
OR VARIABLE_NAME="SELECT_RANGE_CHECK"
OR VARIABLE_NAME="SELECT_SCAN"
OR VARIABLE_NAME="SELECT_RANGE";
Run Code Online (Sandbox Code Playgroud)

我想要一个json格式作为输出.我需要这个作为另一个软件的输入.此软件不接受空白行(压缩的json格式).

edit2:添加输出

CONCAT("{\"counters\":{",

    "\"mysql.total_memory\":",
    ((@@read_buffer_size + @@sort_buffer_size) * @@max_connections + @@key_buffer_size),",",

    GROUP_CONCAT(
        CONCAT("\"mysql.",LCASE(VARIABLE_NAME),"\":",VARIABLE_VALUE)
    )
,"}}")
{"counters":{"mysql.total_memory":39108608,"mysql.qcache_lowmem_prunes":0,"mysql.select_full_join":0,"mysql.select_range":0,"mysql.select_range_check":0,"mysql.select_scan":84,"mysql.slow_queries":0}}
Run Code Online (Sandbox Code Playgroud)

我想删除"CONCAT(...)"部分,只将结果作为输出.

Flo*_*Doe 10

我想我知道你的意思,你只希望打印查询的结果没有框和标题,因此以下列方式启动你的mysql客户端:mysql -uroot -p -s -r -N.

这将抑制查询周围的框的输出以及列名称.您还可以使用-e参数执行查询,然后在将查询结果打印到stdout后退出mysql客户端,在脚本中使用它时这是usefule.请参阅下面(简化)示例:

[root@db1 ~]# mysql -uroot -p******* -s -r -N -e "select 1+1"
2
[root@db1 ~]# 
Run Code Online (Sandbox Code Playgroud)