一网友问在MySQL中如何只用SQL语句导出带日期格式的文件。觉得有点意思,于是尝试了一下。导出文件使用SELECT INTO OUTFILE 但是OUTFILE后面的值不能使用变量,所以只能使用动态SQL语句来实现。其中表user为测试表。具体语句如下所示mysql> SET @SqlScript= CONCAT("SELECT * INTO OUTFILE "/tmp/sql_out_", DATE_FORMAT(NOW(), "%Y%m%d%H%i%s"), ".txt" FROM `user`;");
Query OK, 0 rows affected (0.01 sec)
mysql> PREPARE Sql_Text FROM @SqlScript;
Query OK, 0 rows affected (0.00 sec)
Statement prepared
mysql> EXECUTE Sql_Text;
Query OK, 33 rows affected (0.00 sec)
mysql>关于SELECT INTO OUTFILE时有几个需要注意的,必须确保当前账号具有对应目录的写权限。否则就会出现权限问题" Can"t create/write to file "xxxxx" (Errcode: 13 - Permission denied)"另外关于MySQL prepare语句的SQL语法和知识点:PREPARE statement_name FROM preparable_sql_statement; /*定义*/