从Linux命令行直接执行MySQL/MariaDB查询

Mrbianxin 2020-05-07

如果您负责管理数据库服务器,则可能需要不时运行查询并仔细检查它。虽然您可以从MySQL/MariaDB Shell执行此操作,但此技巧将使您可以直接使用Linux命令行执行MySQL/MariaDB查询,并将输出保存到文件中以供以后检查(这在查询返回时特别有用。很多记录)。让我们来看一些直接从命令行运行查询的简单示例,然后再转向更高级的查询。要查看服务器上的所有数据库,可以发出以下命令:

[linuxidc@localhost ~/www.linuxidc.com]$mysql -u root -p -e "show databases;" 
+--------------------+ 
| Database           | 
+--------------------+ 
| idc_db             | 
| information_schema | 
| linuxidc_db        | 
| mysql              | 
| performance_schema | 
| xxx_db             | 
+--------------------+ 

从Linux命令行直接执行MySQL/MariaDB查询

接下来,要在数据库linuxidc_db 中创建一个名为linuxceshi的数据库表,请运行以下命令:

[linuxidc@localhost ~/www.linuxidc.com]$mysql -u root -p -e "USE linuxidc_db ; CREATE TABLE linuxceshi(idc_id INT NOT NULL AUTO_INCREMENT, idc_title VARCHAR(100) NOT NULL, idc_author VARCHAR(40) NOT NULL, submissoin_date DATE, PRIMARY KEY (idc_id));" 

从Linux命令行直接执行MySQL/MariaDB查询

查询下表建好没有

[linuxidc@localhost ~/www.linuxidc.com]$mysql -u root -p -e "use linuxidc_db; desc linuxceshi;" 
+-----------------+--------------+------+-----+---------+----------------+ 
| Field           | Type         | Null | Key | Default | Extra          | 
+-----------------+--------------+------+-----+---------+----------------+ 
| idc_id          | int(11)      | NO   | PRI | NULL    | auto_increment | 
| idc_title       | varchar(100) | NO   |     | NULL    |                | 
| idc_author      | varchar(40)  | NO   |     | NULL    |                | 
| submissoin_date | date         | YES  |     | NULL    |                | 
+-----------------+--------------+------+-----+---------+----------------+ 

从Linux命令行直接执行MySQL/MariaDB查询

我们将使用以下命令,并将输出通过管道传递到tee命令,后跟要在其中存储输出的文件名。

为了进行说明,我们将使用一个名为linuxidc数据库的linuxceshi表。请注意,系统将提示您输入数据库用户的密码:

[linuxidc@localhost ~/www.linuxidc.com]$mysql -u root -p -e "use linuxidc_db; desc linuxceshi;" | tee linuxidc_chaxun.txt 

从Linux命令行直接执行MySQL/MariaDB查询

借助cat命令查看查询结果。

[linuxidc@localhost ~/www.linuxidc.com]$mysql -u root -p -e "use linuxidc_db; desc linuxceshi;" | tee linuxidc_chaxun.txt 
Enter password: 
Field    Type    Null    Key    Default    Extra 
idc_id    int(11)    NO    PRI    NULL    auto_increment 
idc_title    varchar(100)    NO        NULL 
idc_author    varchar(40)    NO        NULL 
submissoin_date    date    YES        NULL 
[linuxidc@localhost ~/www.linuxidc.com]$cat linuxidc_chaxun.txt 
Field    Type    Null    Key    Default    Extra 
idc_id    int(11)    NO    PRI    NULL    auto_increment 
idc_title    varchar(100)    NO        NULL 
idc_author    varchar(40)    NO        NULL 
submissoin_date    date    YES        NULL 

从Linux命令行直接执行MySQL/MariaDB查询

使用纯文本文件的查询结果,您可以使用其他命令行实用工具更轻松地处理记录。

相关推荐