程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL如何導出帶日期格式的文件,mysql導出日期格式

MySQL如何導出帶日期格式的文件,mysql導出日期格式

編輯:MySQL綜合教程

MySQL如何導出帶日期格式的文件,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腳本之類的工具,當然還有很多方法可以導出帶日期格式的數據文件。在此不做過多展開。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved