MySQL如何导出带日期格式的文件

一网友问在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;               /*定义*/
 

EXECUTE statement_name [USING @var_name [, @var_name] ...];         /*执行预处理语句*/

 

{DEALLOCATE | DROP} PREPARE statement_name                          /*删除定义*/ ;

PREPARE语句用于预备一个语句,并指定名称statement_name,以后引用该语句。语句名称对大小写不敏感。preparable_sql_statement可以是一个文字字符串,也可以是一个包含了语句文本的用户变量。该文本必须表现为一个单一的SQL语句,而不是多个语句。在这语句里,‘?’字符可以被用于标识参数,当执行时,以指示数据值绑定到查询后。‘?’字符不应加引号,即使你想要把它们与字符串值结合在一起。参数标记只能用于数据值应该出现的地方,而不是SQL关键字,标识符,等等

如果可以借助shell脚本之类的工具,当然还有很多方法可以导出带日期格式的数据文件。在此不做过多展开。

时间: 2024-11-07 03:42:24

MySQL如何导出带日期格式的文件的相关文章

mysql jdbc处理0日期格式蛋疼问题-也算是BUG

最近在写一个数据库访问的中间平台时,使用MySQL JDBC处理一些日期数据,遇到点变态的问题,给大家乐一乐! 首先来看看什么样的日期数据这么蛋疼呢? DATE            0000-00-00 DATETIME   0000-00-00 00:00:00 TIMESTAMP 0000-00-00 00:00:00 TIME               25:21:22 对于前3种情况,直接用JDBC读取,肯定会报错,报错信息类似这样: Value '0000-00-00' can n

POI导出excel日期格式

参考帖子: [1]http://www.ithao123.cn/content-2028409.html [2]http://javacrazyer.iteye.com/blog/894850 再读本篇文章之前,请先看我的前一篇文章,前一篇文章中有重点讲到POI设置EXCEL单元格格式为文本格式,剩下的设置小数.百分比.货币.日期.科学计数法和中文大写这些将在下面一一写出 以下将要介绍的每一种都会用到这三行中的变量 HSSFWorkbook demoWorkBook = new HSSFWork

crontab 里如何使用 date +‘%Y%m%d‘ 创建带日期的日志文件

今天遇到一个crontab问题,就是在crontab -e 编辑时,想要把shell脚本输出重定向到一个含有日期的日志文件中.但是直接写不识别date +'%Y%m%d' ,不起作用,后来发现自己的写法不对,并且导致shell脚本不执行正确写法为:$(date +"\%Y\%m\%d")而不是这样:date +'%Y%m%d' 原文地址:https://blog.51cto.com/wangyan112/2399638

EXCEL VBA中写了个宏把本EXCEL中的表数据批量导出为csv格式的文件

Sub csv()    Dim Fs, myFile As Object    Dim myfileline As String 'txtfile的行数据    Dim sht As Worksheet        For Each sht In ThisWorkbook.Sheets        ns = sht.Cells(1, 8)        Set Fs = CreateObject("Scripting.FileSystemObject")   '建立filesyt

使用node查询数据库(mysql)时,日期格式不对的问题。

https://blog.csdn.net/chanlingmai5374/article/details/93190983 1.问题场景 数据库里存了 datetime.但 Node 查询出来是这样子的: 2019-05-14T21:40:59.000Z 2.解决办法 这是 Mysql时区 与 Node时区 不一致导致的.解决方法:配置Node数据库连接.加上 timezone 这一行: client: { host: '***.***.***.***', port: '****', user

mysql导入导出csv文件

问题:为什么要导入导出为csv文件呢? (1)所谓大数据处理,仅仅关心某些列的数据,而非整个表结构,这些数据就需要保存为csv通用的存储格式,不仅可以在widows下作为文本文件进行处理:也可以在hadoop分布式系统上上进行处理: (2)mysql 数据库 迁移为 Oracle .SQLServer数据库,或者反过来,由于各自的设计不同,不能直接的导入导出为dmb sql等格式的文件,可能需要数据的导出导入为csv,而数据表结构的设计可能得通过其它途径. 一:MYSQL如何导出文本文件  (备

[转]Mysql导入导出工具Mysqldump和Source命令用法详解

Mysql本身提供了命令行导出工具Mysqldump和Mysql Source导入命令进行SQL数据导入导出工作,通过Mysql命令行导出工具Mysqldump命令能够将Mysql数据导出为文本格式(txt)的SQL文件,通过Mysql Source命令能够将SQL文件导入Mysql数据库中,下面通过Mysql导入导出SQL实例详解Mysqldump和Source命令的用法. 在PHP网站开发中,时常遇到Mysql数据库备份或数据库迁移工作,这时Mysql怎么导入导出数据库中的数据就非常关键,M

MySql和Oracle的日期转换到底有哪些不同?我们来比较一下

1.MySql和Oracle的日期转换 mysql中有2种日期格式DATE和TIME,oracle只有一种日期格式DATE. oracle> select to_char(sysdate,'yyyy-mm-dd') from dual; oracle> select to_char(sysdate,'hh24-mi-ss') from dual; mysql> select date_format(now(),'%Y-%m-%d'); mysql> select time_form

关于MySQL中使用LOAD DATA INFILE导入csv文件时的日期格式问题

在使用MySQL时,常常会用到Load Data Infile来导入数据,在遇到Date类型的列时,有时会遇到格式转换的问题: 首先创建一张简单的people表,包含名字,生日,年龄三个字段: mysql> create table people( -> name varchar(10) NOT NULL, -> birthday date NOT NULL, -> age int NOT NULL); Query OK, 0 rows affected (0.18 sec) 构造