寫在前面
有很久都沒更新博客了洁闰,主要是因?yàn)樽罱丶伊擞悬c(diǎn)懶(不為自己找借口)。今天被姐姐拉去當(dāng)做苦力做事万细,需要做的事有點(diǎn)小麻煩扑眉,處理一張很大的表,將表中的數(shù)據(jù)按照分類單獨(dú)導(dǎo)出為一個(gè)表赖钞。我嫌棄復(fù)制太麻煩了就覺得用數(shù)據(jù)庫可以實(shí)現(xiàn)腰素,這里說的是將Excel導(dǎo)入MySQL,當(dāng)然也有導(dǎo)出雪营。
說一下前置條件
時(shí)間:2019年7月12日00:10:06
數(shù)據(jù)庫版本:5.7.25-0ubuntu0.18.04.2
- 解釋說明一下:我是在Windows下安裝了Linux子系統(tǒng)弓千,然后在Ubuntu中安裝的數(shù)據(jù)庫。其實(shí)這個(gè)不影響献起,只要你安裝了工具洋访,能夠連接到數(shù)據(jù)庫我想裝在哪里都無所謂。
輔助工具:Navicat for MySQL
- 解釋說明:Navicat簡(jiǎn)直是神器征唬,懂的當(dāng)然懂捌显。然后其實(shí)導(dǎo)出有命令茁彭,導(dǎo)入我沒有嘗試過总寒,后面試過了再說。
開始操作
先連接上數(shù)據(jù)庫理肺,然后呢點(diǎn)擊導(dǎo)入向?qū)?/code>摄闸,可以看到很多的選項(xiàng),我們選擇Excel然后點(diǎn)擊下一步妹萨。
然后就是下一步下一步下一步摩桶,可以看到一個(gè)這個(gè)圖點(diǎn)擊開始就好:
等待一下,就OK了帽揪。我沒遇到過錯(cuò)誤(就是這么理直氣壯)硝清,看一下結(jié)果的樣子
中間來點(diǎn)小甜點(diǎn)
在幫我姐做事的時(shí)候需要我把一些數(shù)據(jù)單獨(dú)生成一張表芦拿,這里就順便提一下如何使用SQL命令將查詢出來的結(jié)果創(chuàng)建一張新的表,我就用我這個(gè)了:
CREATE TABLE 隊(duì)員(SELECT * FROM Sheet1 WHERE 角色="組員" );
解釋:
- 其實(shí)就是將查詢的結(jié)果創(chuàng)建新的表士飒,然后呢這里面有中文,你最好保證你的數(shù)據(jù)庫編碼風(fēng)格是支持中文的蔗崎,然后最好是別用中文酵幕。我這里只是示范一下如果確實(shí)要用中文怎么辦,表名中文是不用加引號(hào)的缓苛,后面的值當(dāng)然是要加的裙盾。
這樣創(chuàng)建的表格式和原來的表結(jié)構(gòu)一樣,表頭什么都是一樣的他嫡。
現(xiàn)在來導(dǎo)出
用工具導(dǎo)出來
所有的操作都搞完了番官,你想要的數(shù)據(jù)單獨(dú)是一張表了,我們被要求給別人看到是Excel而不是數(shù)據(jù)庫钢属。那我們就將它導(dǎo)出來吧徘熔。看到前面那個(gè)導(dǎo)入向?qū)?/code>旁邊的
導(dǎo)出向?qū)?/code>了嗎淆党?我們需要的就是那個(gè)酷师,點(diǎn)擊,選擇Excel染乌,然后選擇你需要導(dǎo)出的表和選擇保存路徑然后下一步山孔、再下一步。這個(gè)時(shí)候如果你是需要
表頭
的那么你需要勾選上包含列的標(biāo)題
然后下一步后點(diǎn)擊開始(太多圖重復(fù)荷憋,就不放圖了台颠,多了看起來不舒服)。等待一下勒庄,就完成了串前。還是那句話我沒遇到過錯(cuò)誤(就是這么理直氣壯)。
命令行來一個(gè)
MySQL中導(dǎo)出數(shù)據(jù)是有命令的实蔽,我也試過了荡碾。然后如果你沒有工具又想導(dǎo)出,那就使用命令行吧局装。有人這樣說過:
命令行是程序員的浪漫 ——我說的
簡(jiǎn)單介紹一下命令
select * from tablename into outfile "filepath and file extension"
into
和outfile
是關(guān)鍵詞坛吁,然后雙引號(hào)里面是文件路徑和文件名(包括后綴)。然后你開始執(zhí)行铐尚,會(huì)發(fā)現(xiàn)不得行拨脉,報(bào)錯(cuò)了:
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
這是為啥呢?是因?yàn)镸ySQL導(dǎo)出文件有限制塑径,除了保存到它規(guī)定的文件夾路徑下以外都是不被允許的女坑。我們當(dāng)然不喜歡這個(gè)規(guī)定,于是我們打算修改它统舀。找到你的mysql的配置文件匆骗,叫做my.cnf
的劳景,在其中加上這樣一句話:
secure_file_priv=''
然后重啟你的MySQL,就可以使用上面的命令將你想要導(dǎo)出的表保存到你想要的位置了碉就。
這樣保存出來的表有一個(gè)問題盟广,那就是沒有表頭,這是為什么我還沒搞懂瓮钥,后面有時(shí)間研究筋量。
寫在后面
我寫這個(gè)的時(shí)候在凌晨,如果有錯(cuò)誤的地方歡迎你的指出碉熄。