Mysql 在Mac命令行上,如何在foo.SQL文件中执行SQL语句,并将结果以制表符分隔的形式导出到另一个文件中?

Mysql 在Mac命令行上,如何在foo.SQL文件中执行SQL语句,并将结果以制表符分隔的形式导出到另一个文件中?,mysql,sql,file,Mysql,Sql,File,在Mac命令行上 $ sql -u foo -pbar db -B -e "SELECT * FROM t" > output.txt 需要内联输入命令 如何在foo.SQL文件中执行SQL语句,并将结果以制表符分隔的形式导出到另一个文件中 编辑 当我这样做的时候 mysql -h localhost -u foo -pbar db -B -e "SELECT * FROM t WHERE x='{}' LIMIT 2 INTO OUTFILE '../o.tsv';" 我出错了 ER

在Mac命令行上

$ sql -u foo -pbar db -B -e "SELECT * FROM t" > output.txt
需要内联输入命令


如何在foo.SQL文件中执行SQL语句,并将结果以制表符分隔的形式导出到另一个文件中

编辑 当我这样做的时候

mysql -h localhost -u foo -pbar db -B -e "SELECT * FROM t WHERE x='{}' LIMIT 2 INTO OUTFILE '../o.tsv';"
我出错了

ERROR 1045 (28000) at line 1: Access denied for user 'foo'@'localhost' (using password: YES)
但奇怪的是

mysql -h localhost -u foo -pbar db
给我mysql命令提示很好。使用
OUTFILE
是否需要用户
foo
具有特殊权限

mysql> SELECT * FROM user WHERE User='foo'\G
*************************** 1. row ***************************
                 Host: localhost
                 User: foo
             Password: *A5DB2D927D6DF94DA5E1CE4B2AEAAB4D8304EA
          Select_priv: N
          Insert_priv: N
          Update_priv: N
          Delete_priv: N
          Create_priv: N
            Drop_priv: N
          Reload_priv: N
        Shutdown_priv: N
         Process_priv: N
            File_priv: N
           Grant_priv: N
      References_priv: N
           Index_priv: N
           Alter_priv: N
         Show_db_priv: N
           Super_priv: N
Create_tmp_table_priv: N
     Lock_tables_priv: N
         Execute_priv: N
      Repl_slave_priv: N
     Repl_client_priv: N
     Create_view_priv: N
       Show_view_priv: N
  Create_routine_priv: N
   Alter_routine_priv: N
     Create_user_priv: N
             ssl_type: 
           ssl_cipher: 
          x509_issuer: 
         x509_subject: 
        max_questions: 0
          max_updates: 0
      max_connections: 0
 max_user_connections: 0
1 row in set (0.01 sec)

使用
将[text of query]选择到输出文件[filename]
。给你。如果格式不完全符合您的要求,请参阅可在文件名后指定的格式化命令语法。

执行以下操作:

sql -u foo -pbar db -B -e `cat foo.sql` > output.txt

工作?

File\u priv
设置为true后,它工作。

如何从命令行执行存储在文件中的SQL语句?
mysql
应该工作。有关更多信息,请参阅。这可能意味着您需要在运行
mysql
时指定用户名和密码(可能还有数据库)。完整的命令看起来像
mysql-uyourusername-pdatabasename
。输入命令后,它应询问您的密码。出现错误1045(28000)。见OP。