最近有一個(gè)需求,就是將數(shù)據(jù)庫(kù)中某些數(shù)據(jù)整理出來(lái)制作成Excel表格臣镣,看了下數(shù)據(jù)庫(kù)中的相關(guān)數(shù)據(jù)有將近六百條,如果手工一個(gè)個(gè)導(dǎo)出智亮,基本上人也廢了忆某。。阔蛉。
那有沒有辦法可以將查出來(lái)的數(shù)據(jù)直接導(dǎo)入到Excel中呢弃舒?我們可以使用如下SQL語(yǔ)句
select id,nickname,createTime
from T_MEMBER
into outfile '/mnt/mysql_bk/xxx.xls'
執(zhí)行后報(bào)錯(cuò)
ERROR 1 (HY000): Can't create/write to file '/mnt/mysql_bk/xxx.xls' (Errcode: 13 - Permission denied)
發(fā)現(xiàn)/mnt/mysql_bk沒有權(quán)限
chmod 777 /mnt/mysql_bk/
重新執(zhí)行SQL語(yǔ)句,導(dǎo)出后打開Excel文件,發(fā)現(xiàn)都是亂碼聋呢,因?yàn)閛ffice默認(rèn)的是gb2312編碼苗踪,而服務(wù)器端生成的很有可能是utf-8編碼,所以我們要把查詢出來(lái)的結(jié)果轉(zhuǎn)換為gb2312格式
select id,convert(nickname using gb2312),createTime
from T_MEMBER
into outfile '/mnt/mysql_bk/xxx.xls'
導(dǎo)出后打開Excel文件削锰,此時(shí)數(shù)據(jù)可以正常顯示了