您好,登錄后才能下訂單哦!
MySQL到CSV幾種方法是怎樣的,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
數據的導出導入,最常用的方法:
導出:
省資源型:
mysql -e "select * from aa" -s -s >aa.txt
導入:
load data infile '/tmp/user_type_2017-08-21.txt' into table aa fields terminated by '\t'
##耗資源型:
SET NAMES "utf8"
select * from ricci_var into outfile'/tmp/var.csv' fields terminated by ',' optionally enclosed by '"' lines terminated by '\n'
導入:
SET NAMES "utf8"
load data infile "/tmp/var.csv"into table ricci_var fields terminated by ',' optionally enclosed by '"' lines terminated by '\n'
在某些特殊的情況下,是無法這么操作的,如垃圾的RDS,就需要這么操作了:
導出:
usr/local/mysql/bin/mysql -h292.168.1.10 -udlan -proot123 test -e" SELECT * FROM manufactor_user_info where date(create_time)<='2017-05-02'" -N -s |sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g'> /tmp/test.csv 導入: SET NAMES "utf8" load data infile '/tmp/test.csv' into table manufacturer_log fields terminated by ',' optionally enclosed by '"' lines terminated by '\n' ###具體的導出條件自己懂的。在導出的數據需要進行簡單的清洗,有可能會碰到某某行的數據段數據錯誤或者定義錯誤這樣的提示.Wrong data or column definition. Row: 69697, field: 43. 這樣的提示主要是由于數據存在問題的需要清洗,從MYSQL導入infobright 會這樣提示,可以設置 SET @BH_REJECT_FILE_PATH = '/tmp/reject_file'; SET @BH_ABORT_ON_COUNT = 10;(自定定義錯誤條數) 可以通過這個觀察數據問題所在。 再者就是導出的時候,有權限問題,如: ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 解決辦法: 1. 設置安全目錄: vi /etc/my.cnf secure-file-priv=/home/自己的目錄/ 2. 有權限寫入目錄/home/自己的目錄/ (5.7的需要設置)
再辦法是:
mysqldump 導成SQL文件
最后辦法:
導出:mysql -udlan -proot123 --database=test --execute='SELECT a, b FROM aaa LIMIT 0, 10000 ' -X > file.csv
導入:
SET NAMES "utf8"
load xml infile '/tmp/file.csv' into table user_info1
看完上述內容,你們掌握MySQL到CSV幾種方法是怎樣的的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。