使用 SQL 将数据库导出为 .CSV

Posted

技术标签:

【中文标题】使用 SQL 将数据库导出为 .CSV【英文标题】:Exporting database to .CSV using SQL 【发布时间】:2013-12-20 13:02:08 【问题描述】:

我正在开展一个需要管理员才能将表从数据库导出为 .csv 格式的项目。但是,当我尝试在 myphpadmin 中运行以下查询作为测试时,我收到以下带有绿色大复选标记的消息:

mysql 返回一个空结果集(即零行)。 (查询耗时 0.0010 秒)

该表有超过 60 条记录。我使用的查询如下:

 SELECT * FROM `User`
 INTO OUTFILE 'C:\Users\np\Desktop\test.csv'
 FIELDS TERMINATED BY ','
 ENCLOSED BY '"'
 LINES TERMINATED BY '\n'

该文件也未在指定位置创建。

提前谢谢你:)

【问题讨论】:

【参考方案1】:

    改变

    INTO OUTFILE 'C:\Users\np\Desktop\test.csv'
    

    INTO OUTFILE 'C:\\Users\\np\\Desktop\\test.csv'
                    ^^     ^^  ^^       ^^
    

    确保运行 mysql 进程的帐户有足够的权限写入目标目录

    确保目标目录中没有相同的文件。 MySql 不会替换文件。它只会重新创建文件。

【讨论】:

感谢您的帮助!关于权限,我只有一个简单的问题。我已经检查了它们,这些是当前未检查的以下权限,我检查了 FILE 权限但仍然收到相同的消息;授予超级进程重新加载关闭显示数据库锁定表引用复制客户端复制从属创建用户创建临时表显示视图创建例程更改例程执行创建视图事件触发器 抱歉,回复延迟了很长时间。在我的回答中,我提到了目标目录中的文件系统权限。但是你还需要有FILE MySQL 权限。【参考方案2】:

为什么不直接使用 phpMyAdmin 导出功能?从数据库或表中查找“导出”选项卡。还有来自任何结果页面的链接(例如,如果您创建自定义 SQL 查询)。

【讨论】:

以上是关于使用 SQL 将数据库导出为 .CSV的主要内容,如果未能解决你的问题,请参考以下文章

SQL、PHP 导出为 CSV

在 MySql 中,如何将 csv 文件中的 sql 字符串中的空值导出为双引号(“”)?

将数据从 oracle sql plus 导出到 csv 时,Hypen 转换为问号

如何将sql文件转换为csv文件?

将数据导出到具有数据类型 ntext SQL 服务器的 csv

Sqlcmd使用SQL Server存储过程将数据导出到csv