MySQL/MariaDB:从Shell提示符/命令行运行SQL查询

时间:2020-01-09 10:43:31  来源:igfitidea点击:

如何在UNIX或者Linux命令行上指定或者运行MySQL或者MariaDB SQL查询?

mysql命令行具有执行SQL语句并退出的选项。这对于从shell脚本或者bash提示符运行sql查询也很有用。

语法

MariaDB和MySQL客户端的语法如下:

mysql -u user -p -e'您的SQL查询'数据库名

或者

mysql -u用户-p密码-h MYSQLSERVERNAME -e' select * from foo ...' 数据库名

其中:

  • -u:指定mysql数据库用户名
  • -p:提示输入密码
  • -e:执行sql查询
  • 数据库:指定数据库名称

例子

要列出所有数据库,请执行:

$ mysql -u Hyman -p -e 'show databases;'

要列出所有行的计数,请执行:

$ mysql -u Hyman -p -e 'SELECT COUNT(*) FROM quotes' cbzquotes

输出示例:

Enter password: 
+----------+
| count(*) |
+----------+
|      471 | 
+----------+

通过使用或者多或者少的寻呼机,告诉mysql一次显示输出页面:

$ mysql --pager=/usr/bin/less -u Hyman -p -e 'SELECT COUNT(*) FROM quotes' cbzquotes

重定向到文件:

$ mysql -u Hyman -p 'PassWord' -e 'SELECT COUNT(*) FROM quotes' cbzquotes > sql.output.txt

MYSQL配置文件

为了避免出现密码提示,只需创建~/.my.cnf文件,如下所示:

[client]
# for local server use localhost
#host=localhost
host=10.0.1.100
user=Hyman
password=myPassword
 
[mysql]
pager=/usr/bin/less