Mysql SQL选择-->;csv文件
我有以下SQL命令,需要将其保存为带有列标题的csv文件:Mysql SQL选择-->;csv文件,mysql,sql,Mysql,Sql,我有以下SQL命令,需要将其保存为带有列标题的csv文件: mysql > SELECT a.last_name, a.first_name, username, is_active, graduation FROM auth_user a INNER JOIN userprofile_userprofile u ON a.id = u.user_id WHERE a.id>39 AN
mysql > SELECT a.last_name, a.first_name, username, is_active, graduation
FROM auth_user a
INNER JOIN
userprofile_userprofile u
ON a.id = u.user_id
WHERE a.id>39 AND a.is_active=1 ORDER BY last_name
如何执行此操作?您可以简单地使用BCP命令,在这种情况下,如果您使用的是SQL Manager studio,则必须启用xp\u cmdshell 这里有一个例子
DECLARE @bcpCommand varchar(2000)
SET @bcpCommand = 'bcp "SELECT * FROM users" queryout "c:\dump.csv" -U USERNAME -P PASSWORD -c'
EXEC master..xp_cmdshell @bcpCommand
请注意,csv文件位于数据库所在的服务器中。您可以简单地使用BCP命令,在这种情况下,如果您使用的是SQL mangement studio,则必须启用xp\u cmdshell 这里有一个例子
DECLARE @bcpCommand varchar(2000)
SET @bcpCommand = 'bcp "SELECT * FROM users" queryout "c:\dump.csv" -U USERNAME -P PASSWORD -c'
EXEC master..xp_cmdshell @bcpCommand
请注意,csv文件位于数据库所在的服务器中。是否尝试使用
导出文件“文件名”导出选项
您是否尝试使用导出文件“文件名”导出选项
看来MySQL无法在导出中包含列标题。一个简单的google搜索返回了这个结果,它使用流编辑将列添加到导出文件中
您可能还想阅读此(以及已接受的解决方案),因为它似乎是另一个选项。MySQL似乎无法在导出中包含列标题。一个简单的google搜索返回了这个结果,它使用流编辑将列添加到导出文件中
您可能还想阅读此(以及公认的解决方案),因为它似乎是另一种选择。如果我没有犯任何语法错误,这应该可以:
SELECT 'LastName', 'FirstName', 'Username', 'IsActive', 'Graduation'
UNION ALL
SELECT a.last_name, a.first_name, username, is_active, graduation
INTO OUTFILE 'yourFile.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
FROM auth_user a
INNER JOIN userprofile_userprofile u
ON a.id = u.user_id
WHERE a.id>39 AND a.is_active=1
ORDER BY last_name
MySQL不允许您添加列标题,这样您就可以在联合中硬编码它们
您还可以检查选择。。。进入
语法。如果我没有犯任何语法错误,这应该可以:
SELECT 'LastName', 'FirstName', 'Username', 'IsActive', 'Graduation'
UNION ALL
SELECT a.last_name, a.first_name, username, is_active, graduation
INTO OUTFILE 'yourFile.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
FROM auth_user a
INNER JOIN userprofile_userprofile u
ON a.id = u.user_id
WHERE a.id>39 AND a.is_active=1
ORDER BY last_name
MySQL不允许您添加列标题,这样您就可以在联合中硬编码它们
您还可以检查选择。。。进入
语法。正如您在这里所概述的,有人提到使用联合体,但必须注意优化查询,否则针对大型数据集的联合体可能会导致问题。对,实际上我指的是一个联合体。但是,为什么添加单个记录会导致问题?您能否澄清或提供任何示例或文档链接?谢谢。“添加单个记录会导致问题吗?”。对不起,我不明白这个问题。没有只添加选定的记录。我的意思是将单个记录添加到select
语句生成的结果集中,而不是实际的insert语句。啊,这很有意义+1在这种情况下,联合不应该对性能产生不利影响。正如您在这里所述,有人提到过使用联合的人,但必须注意优化查询,否则针对大型数据集的联合可能会导致问题。对,实际上,我指的是一个联合所有
。但是,为什么添加单个记录会导致问题?您能否澄清或提供任何示例或文档链接?谢谢。“添加单个记录会导致问题吗?”。对不起,我不明白这个问题。没有只添加选定的记录。我的意思是将单个记录添加到select
语句生成的结果集中,而不是实际的insert语句。啊,这很有意义+1在这种情况下,联合不应对性能产生不利影响。请注意,作者需要回答MySQL而不是MSSQLServer。请注意,作者需要回答MySQL而不是MSSQLServer