Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào chúng ta có thể xuất dữ liệu sang tệp CSV có tên tên tệp chứa dấu thời gian tại đó tệp được tạo?


Đôi khi chúng ta cần xuất dữ liệu sang tệp CSV có tên có dấu thời gian tại đó tệp đó được tạo. Nó có thể được thực hiện với sự trợ giúp của câu lệnh chuẩn bị sẵn MySQL. Để minh họa điều đó, chúng tôi sử dụng ví dụ sau -

Ví dụ

Các truy vấn trong ví dụ sau sẽ xuất dữ liệu từ bảng ‘student_info’ sang tệp CSV có dấu thời gian trong tên của nó.

mysql> SET @time_stamp = DATE_FORMAT(NOW(),'_%Y_%m_%d_%H_%i_%s');
Query OK, 0 rows affected (0.00 sec)

mysql> SET @FOLDER = 'C:/mysql/bin/mysql-files';
Query OK, 0 rows affected (0.00 sec)

mysql> SET @FOLDER = 'C:/mysql/bin/mysql-files/';
Query OK, 0 rows affected (0.00 sec)

mysql> SET @PREFIX = 'Student15';
Query OK, 0 rows affected (0.00 sec)

mysql> SET @EXT = '.CSV';
Query OK, 0 rows affected (0.00 sec)

mysql> SET @Command = CONCAT("SELECT * FROM Student_info INTO OUTFILE '",@FOLDER, @PREFIX, @time_stamp, @EXT,"' FIELDS ENCLOSED BY '\"' TERMINATED BY ';'
ESCAPED BY '\"'"," LINES TERMINATED BY '\r\n';");
Query OK, 0 rows affected (0.00 sec)

mysql> PREPARE stmt FROM @command;
Query OK, 0 rows affected (0.00 sec)
Statement prepared

mysql> execute stmt;
Query OK, 6 rows affected (0.07 sec)

Truy vấn trên sẽ tạo tên tệp CSV ‘student_2017_12_10_18_52_46.CSV’ tức là tệp CSV có giá trị dấu thời gian, có dữ liệu sau -

101;"YashPal";"Amritsar";"History"
105;"Gaurav";"Chandigarh";"Literature"
125;"Raman";"Shimla";"Computers"
130;"Ram";"Jhansi";"Computers"
132;"Shyam";"Chandigarh";"Economics"
133;"Mohan";"Delhi";"Computers"