Windows中的mysql.exe输出CSV文件


mysql -u username -p"password" DbName -h host.com.us < inputFile.sql > outputFile.csv

我正在使用上述命令来运行将在本地输出文件的查询。该文件仅由选项卡界定。我已经看到了几个使用shell命令的答案,并且我需要格式化命令,以便 windows命令提示

以下命令应在Windows上的PowerShell命令提示符:

上执行您想要的操作:
Get-Content inputFile.sql | mysql -u username -p'password' DbName -h host.com.us | ForEach-Object { $_ -replace "t","," } | Out-File outputFile.csv

请注意,我已经使用PowerShell cmdlet的全名编写了上述内容,以澄清一下。通常将使用别名GC和%分别用于get-content和foreach-object。

通常会吸引我的皱纹是PowerShell使用默认情况下使用16位Unicode编码的16位Unicode,因此上面示例命令行产生的outputFile.csv将为16位Unicode。外文件cmdlet具有一个编码参数,可让您做出不同的选择,例如UTF8。上述命令可以被重写为:

gc inputFile.sql | mysql -u username -p'password' dbName -h host.com.us | % { $_ -replace "t","," } | Out-File -Encoding utf8 outputFile.csv

编辑:将密码定义器更改为单引号,以防止PowerShell尝试插值。

最新更新