简体   繁体   English

从我的SQL表中导出CSV文件中的数据之前如何检查行数

[英]How to check number of rows before export the data in csv file from my sql table

this below query is working fine for me to export the data from table to csv file but i want handle like if query returns no record then in 'filename.csv' file should contain 'no data found' message for users 下面的查询对我来说很好,可以将数据从表中导出到csv文件中,但是我想处理类似查询是否未返回记录的情况,那么'filename.csv'文件中应该包含用户的'未找到数据'消息

-- file name as timestamp
SET @fileName = DATE_FORMAT(NOW(),'%Y-%m-%d-%H:%i:%s');
SET @FOLDER = '/tmp/';
SET @EXT    = '.csv';

SET @CMD = CONCAT("SELECT id,name,salary,salaryDate FROM emp1 where name ='some_name' INTO OUTFILE '"
            ,@FOLDER,@fileName,@EXT,
            "' FIELDS ENCLOSED BY '\"' TERMINATED BY ',' ESCAPED BY '\"'",
            "  LINES TERMINATED BY '\n';"); 
PREPARE statement FROM @CMD;
EXECUTE statement;

where do i need to change ? 我需要在哪里更改? Any one can help me ? 有人可以帮助我吗?

You should create stored procedure. 您应该创建存储过程。 Check row numbers using COUNT function, then output one of results you need, for example - 使用COUNT函数检查行号,然后输出所需的结果之一,例如-

CREATE PROCEDURE procedure1()
BEGIN
  IF (SELECT COUNT(*) FROM emp1 where name ='some_name') = 0 THEN 
    SELECT 'no data found' INTO OUTFILE 'file_name.csv';
  ELSE
    your code here - SELECT INTO OUTFILE
  END IF;
END

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM