在Linux中,使用head和tail命令很容易从顶部或底部获取最初的几个数据。
wolf@linux:~$ cat db.txt
| information_schema |
| database_name |
| mysql |
| opencart |
| wordpress |
| performance_schema |
| sys |
wolf@linux:~$ 前2名
wolf@linux:~$ cat db.txt | head -2
| information_schema |
| database_name |
wolf@linux:~$ 最后2
wolf@linux:~$ cat db.txt | tail -2
| performance_schema |
| sys |
wolf@linux:~$ MySQL中有类似的命令吗?
所有数据库
mysql> SHOW DATABASES;
+--------------------+
| Databases |
+--------------------+
| information_schema |
| database_name |
| mysql |
| opencart |
| wordpress |
| performance_schema |
| sys |
+--------------------+
7 rows in set (0.00 sec)
mysql>期望输出:前2位数据库
mysql>
+--------------------+
| Databases |
+--------------------+
| information_schema |
| database_name |期望输出:最后2个数据库
mysql>
| performance_schema |
| sys |
+--------------------+发布于 2020-05-30 12:28:27
在MySQL中,没有类似于head或tail的命令。
最简单的方法是使用mysql -e在shell上执行mysql查询,然后将结果传递给head或tail。
$ sudo mysql -e "SHOW DATABASES" --defaults-file=/etc/mysql/debian.cnf | tail -2
performance_schema
sys如果要在mysql中执行此操作,则需要像这样查询information_schema数据库:
mysql> (SELECT `SCHEMA_NAME` FROM `information_schema`.`SCHEMATA`
ORDER BY `SCHEMA_NAME` DESC LIMIT 2) ORDER BY `SCHEMA_NAME`;
+--------------------+
| SCHEMA_NAME |
+--------------------+
| performance_schema |
| sys |
+--------------------+
2 rows in set (0,00 sec)其中使用LIMIT将结果集限制为所需的行数。
https://serverfault.com/questions/1019308
复制相似问题