我编写了这个简单的查询,它会将表中的所有数据提取到CSV文件中。
SELECT Group_concat(Concat(column_name))
FROM information_schema.columns
WHERE table_name = 'subject_assignment'
AND table_schema = 'newschema2'
UNION ALL
SELECT (SELECT Group_concat('`', column_name, '`')
FROM information_schema.columns
WHERE table_name = 'subject_assignment'
AND table_schema = 'newschema2')
FROM subject_assignment
INTO OUTFILE 'D:\\export\\asd.csv'
现在,第一位工作得很好,但我对第二部分有疑问。 它不是从列列表中指定的列中提取数据,而是一遍又一遍地显示所有列名称。
你能否建议我做错了什么?
感谢。
答案 0 :(得分:0)
在第二个SELECT中,您不会从subject_assignment
中选择任何列。相反,您要选择由连接列名称组成的单个字符串值。而且您选择它的次数与subject_assignment
的行数一样多。
<强>更新强>
如果您想动态创建列名,然后从中选择数据,请参阅:https://stackoverflow.com/a/17573774/925196