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-01 18:51:20

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

sqlite-Android如何将SQLite数据库中的数据导出为csv格式的文件

问题描述 Android如何将SQLite数据库中的数据导出为csv格式的文件 搜到了下边这个方法,但是我没实现功能,请各位指教.最好能有代码 public void ExportToCSV(Cursor c, String fileName) { int rowCount = 0; int colCount = 0; FileWriter fw; BufferedWriter bfw; File sdCardDir = Environment.getExternalStorageDirecto

java 从mysql中导出数据,格式为Excel,用Swing组件来实现

问题描述 java 从mysql中导出数据,格式为Excel,用Swing组件来实现 点击一个按钮,弹出文件下载框,实现把数据库中的某张表的数据导出成Execl格式,求各位大神帮忙 解决方案 可以使用poi技术来实现 ,poi官网http://poi.apache.org/

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

使用java将MySQL的表导出为csv格式时,如何将表头也提取出来?

问题描述 使用java将MySQL的表导出为csv格式时,如何将表头也提取出来? 现在需要将mysql里的表导出成为csv格式的文件,但是表头无法获取.请问各位大大要如何实现?谢谢^_^ 解决方案 http://blog.sina.com.cn/s/blog_61e65d1701017m6q.html 解决方案二: 你不行的话,就用Toad直接export吧.不然你就要自己获取表结构,写不少代码.

关于DirectX格式的文件导出方法

问题描述 请问各位大虾,大家都是怎么将3D建模软件建好的模型导成directX格式的文件的?PS:我是从SolidWorks中导出成VRML格式的文件,然后导入3DMax里修改坐标系,最后再导出成.X格式的文件.请问我这样子做对吗?好像其中包含的信息太多了(见附件中图片所示),我看其他好多都是一个子集的,我现在的问题是3D仿真时速度太慢了,而且还很卡.望各位大虾多多指教啊!

Mysql导入导出工具Mysqldump和Source命令用法详解_Mysql

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

使用Navicat Premium将SQLServer数据导出为sql格式_mssql2008

其实要将MSSQL数据库的数据导出为.sql格式的文件很简单,微软的SQL Server 2008已经拥有了这一功能具体可以查看这篇文章.今天想在这里利用一款强大的数据库管理工具远程导出SQL脚本,操作异常简单. Navicat Premium下载地址 Navicat for SQL Server 32位 Navicat for SQL Server 64位 使用Navicat Premium工具远程连接到你的SQL Server数据库:连接成功后,你会看到所有的SQL Server数据库:选中

oracle数据导入mysql数据库日期格式问题

问题描述 oracle数据导入mysql数据库日期格式问题 从oralce数据库导出日期格式数据为 to_date('13-04-2015 16:40:12', 'dd-mm-yyyy hh24:mi:ss'), 如何把它修改为yyyy-mm-dd的形式存储到mysql数据库中,由于数据比较多,一条条修改太过麻烦,有没有什么好的方法 解决方案 参考import CSV to MySQL and convert date LOAD DATA LOCAL INFILE '/Users/Path/To

如何将frm、MYD、MYI格式的文件导入MySQL

在使用虚拟服务器时,服务器提供商一般不会像我们使用本地数据库一样:使用导入导出(这样的文件后缀是*.sql).大部分时候提供的是一个文件夹,里面包括:数据库名文件夹,文件夹里包括,*.frm,*.MYI,*.MYD,并且包含一个db.opt文件.分别介绍一下: *.frm--描述了表的结构 *.MYI--表的索引 *.myd--保存了表的数据记录 db.opt--用文本编辑器打开,可以看到里面保存的是编码信息: frm,myd,myi是属于MySQL存储数据的文件,phpMyAdmin是无法导入