gpt4 book ai didi

mysql - Grep 连接表 MySQL/Linux

转载 作者:可可西里 更新时间:2023-11-01 08:21:52 25 4
gpt4 key购买 nike

我似乎无法在不抛出错误的情况下在此表上获取 grep -v "Africa",有人可以帮助我了解 Ubuntu 中的语法吗?

某处有错误,我的一个国家没有定义宏观区域(即美洲、非洲、亚洲、欧洲),我找不到它。我需要 grep 这个连接表以查看哪个国家/地区只有子区域。

select country, group_concat(region) as regions from regions group by country;

(页脚看起来像这样)

| Ukraine                   | Eastern Europe,Europe
| United Arab Emirates | Middle East,Persian Gulf,Western Asia
| United Kingdom | Europe
| United States | Americas,North America
| Uruguay | Americas,South America
| Uzbekistan | Asia,Central Asia
| Vanuatu | Australasia,Melanesia,Oceania
| Venezuela | Amazon,Americas,Andes,South America
| Vietnam | Asia,East Asia,Indochina
| Virgin Islands | Americas,Caribbean
| Wallis and Futuna Islands | Australasia,Oceania,Polynesia
| Yemen | Middle East,Persian Gulf,Western Asia
| Zambia | Africa,Central Africa,East Africa,Southern Africa
| Zimbabwe | Africa,Central Africa,East Africa,Southern Africa

我使用:

mysql -u root -pPASS "use reports"| mysql -u root -pPASS -e "select country, group_concat(region) as regions from regions group by country;"| grep -v 'Africa'

我得到了错误:

ERROR 1049 (42000): Unknown database 'use reports' ERROR 1046 (3D000) at line 1: No database selected

最佳答案

mysql -u root -pPASS reports -e "select country, group_concat(region) as regions from regions group by country;" | grep -v 'Africa'

首先要注意的是:您选择的数据库有误。数据库名称是一个位置参数;您不需要执行嵌入式 sql 语句。

其次,您不能在管道中使用 mysql 命令并让第一个命令影响第二个命令,因为数据库连接在第二个语句执行之前关闭;它们是完全不同的连接。如果需要多个查询,请在语句中使用分号。上述命令的另一种形式如下所示:

mysql -u root -pPASS -e "use reports; select country, group_concat(region) as regions from regions group by country;" | grep -v 'Africa'

关于mysql - Grep 连接表 MySQL/Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5851046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com