这些mysql程序选项-N -B是什么意思?

时间:2017-10-06 17:05:57

标签: mysql

我是一个简单的bash脚本

#!/bin/sh
DB_HOST="localhost"
DB_PASS="pa**w0rd"
MYSQL="mysql --force --connect-timeout=90 --host=$DB_HOST -u root --password=${DB_PASS}"

USERS=`$MYSQL -N -B -e "SELECT * FROM users LIMIT 1;" first_db 2> /dev/null`

INSERT_USER=$($MYSQL -N -B -e "INSERT INTO users (\`username\`, \`password\`) VALUES('Adam', 'pa55word');" first_db 2> /dev/null)

我知道 -e 表示执行命令,但我不知道 -N -B 在这里做什么。有人可以告诉我吗?

2 个答案:

答案 0 :(得分:0)

从mysql的手册页引用:

  

- skip-column-names,-N

     

不要在结果中写入列名。


  

- 批处理,-B

     

使用制表符作为列分隔符打印结果,每行都在新行上。使用此选项,mysql不使用历史文件。

     

批处理模式会导致非常规输出格式和特殊字符的转义。可以使用原始模式禁用转义;请参阅--raw选项的说明。

答案 1 :(得分:0)

Here's官方网站,解释了mysql选项的用法。它说:

  

-N选项:

     

不要在结果中写入列名。

     

-B选项:

     

使用制表符作为列分隔符打印结果,每行都在新行上。使用此选项,mysql不使用历史记录文件。批处理模式会导致非常规输出格式和特殊字符的转义。