在mysql命令列環境下執行: sql語句+into outfile +檔案路徑/檔名 +編碼方式(可選)
例如:select* from (
表名)into outfile
'/usr/local/test.txt'
;
1)可能會報沒有 select command denied(沒有查詢許可權) 或者access denied for user(沒有file許可權) ,增加許可權之後即可。
2)不能存在同名檔案,否則sql執行失敗。
3)生成檔案格式也可以是.txt/.xls/.csv。
4) 生成的檔案中可能會有中文亂碼問題,可以在語句後面+character set gbk (utf8等)
例如: select* from (
表名)into outfile
'/usr/local/test.txt'
character set gbk;
5)如果sql查詢出來的資料報含有很大的數值型資料,則在excel中這些數值資料可能會出問題,因此,可以先導出為.txt/.csv檔案格式,再複製黏貼到excel檔案中(首先設定單元格格式為文字)
在登入某伺服器後,採用 mysql 命令執行 ,不需要登入進mysql命令列環境下。
例如:mysql -h 127.0.0.1 -u使用者名稱 -p密碼
--default-character-set=gb2312 -e "select * from 表名" 資料庫名 > test.txt
注:-e 查詢條件語句 後面跟上目標資料庫
若有中文亂碼,新增設定編碼方式 utf8 、gbk
有的時候需要檢視資料庫的某些資訊,然後繼續接下來的 shell 命令操作,登入資料庫在退出嫌麻煩可以使用這招:
例 1:列出所有資料庫
mysql -h host_name-p3306 -u user_name
-p'password
'-se "show databases;"
例 2:列出 database 下的所有表
mysql -h host_name-p3306 -u user_name
-p'password
'-d database
-se "show tables;"
user_name: 登入資料庫使用者名稱;
password:登入資料庫密碼;
database: 資料庫名;
例:
[root@localhost tmp
]# mysql -h 172.16.30.50
-uroot -proot -d plat -se "select ip_str,major_version,minor_version,vendor,series,model from plat_resource_config"
mysql查詢結果輸出到檔案
mysql查詢結果匯出 輸出 寫入到檔案 方法一 直接執行命令 mysql select count 1 from table into outfile tmp test.xls query ok,31 rows affected 0.00 sec 在目錄 tmp 下會產生檔案test.xls 遇到...
mysql查詢結果匯出到檔案
方法一 直接執行命令 mysql select count 1 fromtable into outfile tmp test.xls query ok,31 rows affected 0.00 sec 在目錄 tmp 下會產生檔案test.xls 遇到的問題 mysql select count...
mysql查詢結果匯出到檔案
環境 mysql 進入mysql shell mysql u username password password database database然後輸入匯出查詢結果命令 select from table1 into outfile data test1.txt 報錯error 1045 28...