在Ubuntu终端中使用join运行MYSQL select查询

在Ubuntu终端中使用join运行MYSQL select查询,mysql,ubuntu,mysql-workbench,ubuntu-18.04,Mysql,Ubuntu,Mysql Workbench,Ubuntu 18.04,我尝试运行以下查询并将结果保存到文件中。但我不知道确切的语法,因为我是MYSQL新手 SELECT b.*,c.* FROM  tableb as b JOIN tablec as c ON c.rootid = b.id WHERE b.status = 2; 我想在Ubuntu终端内的MYSQL外壳上运行这个查询。并将结果保存到文件中。有人能告诉我确切的语法吗?我在Ubuntu18.04终端上使用MYSQL版本14.14 Dist 5.7。谢谢 更新:我准确地尝试了下面的查询,发现了错误:

我尝试运行以下查询并将结果保存到文件中。但我不知道确切的语法,因为我是MYSQL新手

SELECT b.*,c.* FROM  tableb as b JOIN tablec as c ON c.rootid = b.id WHERE b.status = 2;
我想在Ubuntu终端内的MYSQL外壳上运行这个查询。并将结果保存到文件中。有人能告诉我确切的语法吗?我在Ubuntu18.04终端上使用MYSQL版本14.14 Dist 5.7。谢谢

更新:我准确地尝试了下面的查询,发现了错误:

mysql -u prod -p -e"SELECT tabler.* , tablec.* FROM tablec JOIN tableo ON tablec.id = tableo.id JOIN tabler ON tableo.id = tabler.id WHERE tabler.status = 4;">/tmp/tbldata;
我看到了这个错误:

sql语法有错误,请检查相应的手册 到您的mysql服务器版本

有什么帮助吗

第二次更新我的最终查询如下所示:

SELECT tabler.* , tablec.* INTO OUTFILE '/tmp/data.csv' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' FROM tablec JOIN tableo ON tablec.id = tableo.id JOIN tabler ON tableo.id = tabler.id WHERE tabler.status = 4;
我看到以下错误:

拒绝访问您需要(至少一个)的文件权限 这次手术

我用过的prod没有权限。如何授予写入csv文件的权限

mysql -u root -p -e"SELECT b.*,c.* FROM  tableb as b JOIN tablec as c ON c.rootid = b.id WHERE b.status = 2" > /tmp/table_data
注意:使用您的用户名,而不是
root

另一种方法是,您可以将其
用于OUTFILE

SELECT b.*,c.* 
FROM  tableb as b 
JOIN tablec as c ON c.rootid = b.id 
WHERE b.status = 2
INTO OUTFILE '/tmp/table_data.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
注意:使用您的用户名,而不是
root

另一种方法是,您可以将其
用于OUTFILE

SELECT b.*,c.* 
FROM  tableb as b 
JOIN tablec as c ON c.rootid = b.id 
WHERE b.status = 2
INTO OUTFILE '/tmp/table_data.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

我尝试了这个查询,但总是出错。用错误更新了我的问题。请帮助您包含
在查询中。去掉那个。请在
>
前后留出空间,谢谢。现在我看到文件权限错误:拒绝访问此操作需要(至少一个)文件权限。用我最新的查询编辑问题要获得访问权限,请尝试此解决方案。我尝试了此查询,但不断出错。用错误更新了我的问题。请帮助您包含
在查询中。去掉那个。请在
>
前后留出空间,谢谢。现在我看到文件权限错误:拒绝访问此操作需要(至少一个)文件权限。使用我的最新查询编辑问题要获得访问权限,请尝试此解决方案