服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - 四种使用Linux命令查询MySQL的高效方法

四种使用Linux命令查询MySQL的高效方法

2023-11-05 17:03未知服务器之家 Linux

在Linux中执行MySQL查询是后端或DevOps开发人员的必备技能。 本文总结在bash脚本或Linux命令行界面中运行MySQL查询的四种方法,以便开发人员能够更好地处理MySQL数据库。同时希望能够对所有开发人员提供一个好参考。 注意:本文中的

在Linux中执行MySQL查询是后端或DevOps开发人员的必备技能。

本文总结在bash脚本或Linux命令行界面中运行MySQL查询的四种方法,以便开发人员能够更好地处理MySQL数据库。同时希望能够对所有开发人员提供一个好参考。

注意:本文中的所有命令都不包括-p选项以输入,因为MySQL已保存在my.cnf文件中

1 使用“-e”选项运行查询

如果只想运行一个简单且短小的SQL查询,可以在查询后面使用-e选项。

mysql -uroot -D yang_db -e "SELECT * FROM t_post"

如上所示,-D选项用于指定要使用的数据库,而-e选项用于执行查询。

2 导入外部SQL文件

有时,数据库管理员可能已经准备了一个包含复杂SQL操作的SQL文件。在这些情况下,仍然可以使用如下的-e选项:

mysql -uroot -D yang_db -e "source ./getPosts.sql"

Linux中的source命令用于读取和执行文件的内容。

3 使用输入重定向导入SQL文件

如果熟悉Linux中的I/O重定向技巧,还有一种方式来导入外部的.sql文件:

mysql -uroot -D yang_db <"./getPosts.sql"

通过这种方式,不需要使用-e选项。使用<操作符就足够了。

4 使用“here-document”处理多行查询

Linux中的“here-document”概念很简单,意味着文档是“就在这里”,不在外部文件中。

语法如下:

<<MARKER
...
MARKER

整个文档都在“MARKER”之内,可以使用任何字符串作为“MARKER”。

看下面的示例:

#!/bin/sh
mysql -uroot -D yang_db <<QUERY
SELECT * FROM t_post
WHERE is_del=0
AND update_time<="2077-07-07";
QUERY

如上所示,使用QUERY作为“MARKER”。内容是要执行的SQL查询。如果把相同的查询写入外部文件并通过之前的方法导入,结果将与“here-document”方法完全相同。

默认情况下,查询的结果将输出到Linux终端。但是,如果结果很大,并且希望将其保存到单独的文件中,可以再次利用I/O重定向技巧:

#!/bin/sh
mysql -uroot -D yang_db >output.txt <<QUERY
SELECT * FROM t_post
WHERE is_del=0
AND update_time<="2077-07-07";
QUERY


延伸 · 阅读

精彩推荐
  • Linuxlinux下dhcp服务器配置教程

    linux下dhcp服务器配置教程

    这篇文章主要为大家详细介绍了linux下dhcp服务器的配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    远是远洋的洋9502022-01-10
  • Linuxlinux之虚拟内存相关介绍

    linux之虚拟内存相关介绍

    虚拟内存是个怎么强调也不过分的概念,它的存在极大地方便了程序设计任务,解放了程序员的手脚。下面看看虚拟内存的作用以及如何在存储管理机制的...

    Linux教程网4662019-12-28
  • LinuxLinux下安装DNS+Sendmail服务的方法

    Linux下安装DNS+Sendmail服务的方法

    用了Linux好长时间,知道点知识,拿出来给大家晒晒,DNS和Sendmail服务使用的人很多,笔者就给大家深入讲解下如何在Linux下安装DNS+Sendmail服务 ...

    Linux教程网5682020-01-05
  • LinuxLinux下如何部署FTP服务器

    Linux下如何部署FTP服务器

    FTP 是 File Transfer Protocol 的缩写,即文件传输协议,它通过网络在服务器和客户端之间传输文件,现在已经成为一种广泛使用的标准工具。...

    Linux开发那些事儿6872021-09-17
  • Linux没有启动图标利用Linux命令在终端打开文件

    没有启动图标利用Linux命令在终端打开文件

    Linux系统中,打开一个文件很简单,只要有启动图标就可以了,如果没有启动图标,那就只能使用命令了,下面教大家在Linux终端打开文件的方法 ...

    Linux系统网4072019-10-23
  • LinuxLinux中在防火墙中开启80端口方法示例

    Linux中在防火墙中开启80端口方法示例

    这篇文章主要介绍了Linux中在防火墙中开启80端口方法示例,具有一定参考价值,需要的朋友可以了解下。...

    折叠-smile5542022-02-20
  • Linux如何在 Linux 中实时监控日志文件

    如何在 Linux 中实时监控日志文件

    本教程解释了如何实时监控 Linux 日志文件(桌面、服务器或应用),以进行诊断和故障排除。...

    Linux中国5872021-08-31
  • Linux如何在Linux上检查可用的磁盘空间

    如何在Linux上检查可用的磁盘空间

    在 Linux 上查找可用磁盘空间的最简单的方法是使用 df 命令 。df 命令从字面意思上代表着磁盘可用空间disk free,很明显,它将向你显示在 Linux 系统上的可用...

    Linux中国6822020-11-17