在Ubuntu终端中使用join运行MYSQL select查询
我尝试运行以下查询并将结果保存到文件中。但我不知道确切的语法,因为我是MYSQL新手在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。谢谢 更新:我准确地尝试了下面的查询,发现了错误:
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'
我尝试了这个查询,但总是出错。用错误更新了我的问题。请帮助您包含
代码>在查询中。去掉那个。请在>
前后留出空间,谢谢。现在我看到文件权限错误:拒绝访问此操作需要(至少一个)文件权限。用我最新的查询编辑问题要获得访问权限,请尝试此解决方案。我尝试了此查询,但不断出错。用错误更新了我的问题。请帮助您包含代码>在查询中。去掉那个。请在>
前后留出空间,谢谢。现在我看到文件权限错误:拒绝访问此操作需要(至少一个)文件权限。使用我的最新查询编辑问题要获得访问权限,请尝试此解决方案