MySQL 導出數(shù)據(jù)為csv格式的方法
方案有很多種,我這里簡單說一下:
1. into outfile
SELECT * FROM mytable
INTO OUTFILE '/tmp/mytable.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n';
在我使用過程中發(fā)現(xiàn)一個特別嚴重問題,這里面不能插入查詢條件,比如where這些,也就是說只能整表導出,不知道是不是我的寫法有問題,有知道朋友請給我留言。
第二個問題是,outfile的路徑一定要有寫權(quán)限,我們mysql的進程權(quán)限一般是mysql用戶,因此最好導出到/tmp目錄下面。
2. 通過結(jié)合sed
mysql -uroot test -e "select ip from server where a.name like '%abc%'" -N -s | sed -e 's/^/"/g;s/$/"\n/g'; > /tmp/test.csv
這里首先使用mysql命令的-e參數(shù)來執(zhí)行sql語句,然后通過-N來去掉輸出結(jié)果中列名,-s去掉輸出結(jié)果中的各種劃線。
然后使用sed命令輸出結(jié)果中所有相關(guān)數(shù)據(jù)進行替換,其中替換了三處,1.在行首增加“,在行尾增加”和換行,在每個字段之間增加”,”來分隔。
3. 通過mysqldump來實現(xiàn)
mysqldump -u username -p -t -T/path/to/directory dbname table_name --fields-terminated-by=','
和1的方案差不多吧。
就當是一個筆記吧
- MySQL數(shù)據(jù)庫導入導出數(shù)據(jù)之報錯解答實例講解
- mysql實現(xiàn)從導出數(shù)據(jù)的sql文件中只導入指定的一個表
- 詳解Mysql導出數(shù)據(jù)的幾種方式
- MySQL導出數(shù)據(jù)遇到secure-file-priv問題的解決方法
- MySQL數(shù)據(jù)庫使用mysqldump導出數(shù)據(jù)詳解
- mysqldump命令導入導出數(shù)據(jù)庫方法與實例匯總
- MYSQL命令行導入導出數(shù)據(jù)庫詳解
- mysql 導入導出數(shù)據(jù)庫、數(shù)據(jù)表的方法
- 淺析Mysql 中如何導出數(shù)據(jù)
相關(guān)文章
MySQL數(shù)據(jù)庫中CAST與CONVERT函數(shù)實現(xiàn)類型轉(zhuǎn)換的講解
今天小編就為大家分享一篇關(guān)于MySQL數(shù)據(jù)庫中CAST與CONVERT函數(shù)實現(xiàn)類型轉(zhuǎn)換的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03Mysql查看數(shù)據(jù)庫時區(qū)并設(shè)置時區(qū)的方法
這篇文章主要介紹了Mysql查看數(shù)據(jù)庫時區(qū)并設(shè)置時區(qū)的方法,設(shè)置時區(qū)的方式可以通過mysql命令行模式下動態(tài)修改以及通過修改配置文件來修改時區(qū),需要的朋友可以參考下2024-02-02MYSQL Left Join優(yōu)化(10秒優(yōu)化到20毫秒內(nèi))
在實際開發(fā)中,相信大多數(shù)人都會用到join進行連表查詢,但是有些人發(fā)現(xiàn),用join好像效率很低,而且驅(qū)動表不同,執(zhí)行時間也不同。那么join到底是如何執(zhí)行的呢,本文就詳細的介紹一下2021-12-12