MySQL Workbench 如何匯入表格資料

Esther
6 min readJun 1, 2021

--

Import CSV File Into MySQL Table

最近在玩 MySQL Workbench,想做從數據轉成動態圖表,說起來挺輕鬆的,網站很多都有呈現這樣的圖像化功能,執行起來倒是一大挑戰...

目標先做出數據表格在前端上可以搜尋就好....

開始列表一下該做甚麼的活

建立MYSQL Workbench — — install server , workbench and shell

建立數據庫 — — databases,tables

匯入 數據資料— — import csv

前端取得數據庫 — — use json format

前端設定MySQL資料庫連結 — — database.js

製作前端網頁 — express or vuejs (not sure)

以上簡陋目標指引,希望我可以做好~

第一步 建立MYSQL Workbench

這比較輕鬆,點擊 MySQL官網,看你要在Windows or linux做,再去下載對應的安裝包,我下載Windows(GA)版本,選擇客製化模式(Custom)

選擇servers , workbench and shell 最新版本(8.0.25)

之後需要注意的是,設定root localhost的密碼,可以先用簡單的,會在後面頻繁使用,熟悉再換自己安全的密碼

成功下載後會跳出MySQL Shell的視窗(如下)

可以點開剛剛下載的軟體 — — MySQL installer 確認你有沒有下載成功

p.s 下載完成後,環境變數可能會有人沒有同步改到PATH路徑,記得手動新增唷

第二步 建立數據庫

我利用Mysql 指令去完成動作,CMD打開 ((有試過git bash 沒辦法用QQ

mysql --versioin — — 確認你的版本是否為8.0.25

mysql -u root -p — — 登入(u=user;p=password)

show databases; — — 顯示現有的數據庫

create database test_demo; — — 建立數據庫名為test_demo

登入畫面

接者我們製作table,你要用指令也可以,workbench比較簡單,我打開MySQL Workbench,登入root,你會看到剛剛建立好的test_demo數據庫,點開test_demo,找到table,按右鍵[create table],我們要預先建立的資料表欄位,才能匯入資料。

其他操作(建立其他欄位、設定主鍵),可以再做調整

輸入完成後

好啦~完成基本步驟了!!!!

第三步 匯入 數據資料

我們回到CMD 打指令匯入csv檔案快很多

首先,你會遇到不少問題,我們見招猜招,別擔心

下面這張其實是完整的程式碼了,可是馬上就出現error 3948 or error 2068,主要是在說你的local 的檔案(infile file)在匯入過程中被拒絕了。

為甚麼會被拒絕?

我們剛剛下載的MySQL是Server,代表我們現在是server端,但我們要拿client端(local)的資料,簡單說如果我們沒有客戶的同意是不能隨便拿客戶端的資料,要經過客戶端的同意,那徵求同意權就是要找local_infile,將不同意改為同意。

另一方面也會有網路環境上的問題,與 MySQL 服務器相關的客戶端實際上是 Web 服務器,而不是由連接到 Web 服務器的用戶運行的遠程程序。很多客戶資料從server 都可以撈到(網路安全啊~要小心資料被竊取了)

solution:

fix error 3948

我們要啟用或禁用本地數據加載功能(load data local ),

SHOW VARIABLES LIKE ‘locla_infile’; — — 找出local_infile的變數,value=off

SET local_infile=1; — — 改為value =on

fix error 2068

結束上面步驟會出現error 2068,登出再登入mysql時要指定參數,即可修正問題。

mysql -u -p --local-infile

接者回到源頭,重新匯入一次檔案吧!!

錯誤版:找不到檔案位置

在windows 位置是 c:/to-do.csv

輸入要用反斜線

輸入要小心檔案位置

正確版:

確認一下檔案!!成功!!

完成前三步驟了!!確實不容易呀~第一次碰到mysql,出現好多問題,剩下後面的工程再慢慢達成啦

參考資料:

https://dev.mysql.com/doc/refman/8.0/en/load-data-local-security.html

https://imericla.wordpress.com/2021/01/23/%E5%9C%A8mysql%E4%B8%8B%E6%8C%87%E4%BB%A4%E5%8C%AF%E5%85%A5%E8%B3%87%E6%96%99%E5%88%9D%E9%AB%94%E9%A9%97/

--

--

Esther
Esther

Written by Esther

大海永遠治癒著我。潛過綠島、小琉球、墾丁。關注UIUX、產品經理、數據分析知識,歡迎交流成長!希望能夠持續寫作拍照,紀錄我所熱愛的生活。