mysql - 返回mysql查询的列名

标签 mysql csv

我有一个导出为 CSV 文件的 MySQL 查询。收到 CSV 的人希望我包含列标题。显然,我可以在查询中对它们进行硬编码,但想知道是否有一种方法可以返回包含已查询的所有列的名称的行?

我当前的查询如下 - 如果可以的话,我也希望以编程方式包含列标题,以防万一我在进行更改时忘记更新它。

谢谢

SET @sql_text = 
   CONCAT (
   "SELECT
        cf_id as FoundUsFrom,
        firstname as CustomerName1,
        lastname as CustomerName2,
        address1 as CAddress1,
        address2 as CAddress2,
        '' as CAddress3,
        towncity as CCity,
        postcode as CPostCode,
        email as 'email',
        telephone as HomePhone,
        mobile as MobilePhone,
        '' as WorkPhone,
        chidname as PName,
        '' as ToBeAged,
        partyaddress1 as PAddress1,
        partyaddress2 as PAddress2,
        '' as PAddress3,
        partytowncity as PCity,
        partypostcode as PPostCode,
        /*NEED VALIDATION*/
        celebrating as PType,
        partydate as PDate,
        partyboffinstart as PTime,
        specialinstructions as SpecialInst,
        numberguests as Guests,
        IF(airexp = '','N','Y') as Air,
        IF(chemcocklngexp = '','N','Y') as CocktailLong,
        IF(chemcockshtexp = '','N','Y') as CocktailShort,
        IF(chemreact = '','N','Y') as Reactions,
        IF(dryicebolton = '','N','Y') as DryIce,
        IF(electricitybolton = '','N','Y') as Electricity,
        IF(flightbolton = '','N','Y') as Flight,
        IF(fourelementsbolton = '','N','Y') as Elements,
        IF(magicbolton = '','N','Y') as Magic,
        IF(slimebolton = '','N','Y') as Slime,
        IF(sweetbolton = '','N','Y') as Sweets,
        IF(miniimpsbolton = '','N','Y') as MiniImps,
        IF(extravaganzabolton = '','N','Y') as Extravaganza,
        IF(dryicecreambolton = '','N','Y') as AIceCream,
        IF(rocketbolton = '','N','Y') as ARocket,
        IF(foodbreakbolton = '','N','Y') as AFood,
        partybags as PBags,
        deluxepartybags as PDBags

INTO OUTFILE 'PATHTO/data/bookings",
DATE_FORMAT( NOW(), '%Y%m%d%s'),
".csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\n'
FROM sb_chronoforms_data_bookingformcombined"
);

PREPARE s1 FROM @sql_text;
EXECUTE s1;
DROP PREPARE s1;

最佳答案

单独记录它,因为这是解决问题的另一种方法:

select 'col_1', 'col_2','col_3','col_4' from dual UNION all select col_1,col_2,col_3,col_4 from table_1;

关于mysql - 返回mysql查询的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25649705/

相关文章:

Ruby 1.9.2 导出 CSV 字符串而不生成文件

javascript - 在浏览器的控制台中访问已解析的 csv 文件

mysql - WildFly jboss-cli.sh 使用 useSSL=false 添加数据源 Mysql

MySQL Months 存储为字符串,如何按时间顺序而不是按字母顺序排序?

java - Java中读取带有多个分隔符的文件

r - R、CSV 中的非唯一值,因为字符列值中的空白点有一个看不见的点

php - 在 Laravel 中删除时将外键值设置为默认值

php - 从数据库查询填充复选框

mysql - 获取同一表中一列位于一组中的所有行(MySQL)

javascript - 以 HTML 格式显示 CSV 文件