MySQL 超新手入門(2)資料庫概論與 MySQL 安裝 by Michael | CodeData
top

MySQL 超新手入門(2)資料庫概論與 MySQL 安裝

分享:

專欄作者新書出版:Android App程式開發剖析 第三版(適用Android 8 Oreo與Android Studio 3)

你可以在Google Play圖書Pubu購買MySQL超新手入門系列電子書,特別新增精心設計的練習,讓學習效果更好!同時在GitHub公開所有範例與練習解答。實體書由碁峰圖書出版:http://books.gotop.com.tw/v_AED002900

MySQL 超新手入門(1)重新開始 << 前情

1. 儲存與管理資料

儲存與管理資料一直是資訊應用上最基本、也是最常見的技術。在還沒有使用電腦來管理你的資料時,你可能會使用這樣的方式來保存世界上所有的國家資料:

mysql_02_snap_01

這樣的作法在生活中是很常見的,例如親友的通訊錄,你可能也會使用一張卡片來記錄一個親友的通訊資料,上面有名字、電話、住址,與所有你想要保存的資料。這種保存資料的方式很直接,也很省錢。不過你應該會遇到這樣的問題:

mysql_02_snap_02

如果你買了一台電腦,電腦中也安裝了一種工作表的軟體,像這類國家或是親友通訊錄的資料,可能就會用這樣的方式把它們儲存在電腦裡面:

mysql_02_snap_03

使用這種工作表來儲存國家資料,當然比用卡片好多了,尤其是想要尋找某個國家的資料,然後修改它的人口數量。雖然方便多了,不過在你查詢國家資料時,可能會有這樣的問題:

mysql_02_snap_04

你不太可能把一個洲的國家資料,儲存為一個工作表檔案;就算你這麼作了,如果你想要查詢人口數小於十萬的國家時,你會發現這會是一件很困難的工作。

1.1 資料庫管理系統與資料庫伺服器

在資訊的應用軟體中,「資料庫管理系統」是一種用來儲存與管理資料的軟體,它使用安全、穩定與有效率的方式把資料儲存起來,也可以方便與快速的維護資料。尤其是資料的數量很龐大的時候,使用資料庫管理系統來儲存與管理資料,會是一種令人安心而且比較有效率的方式。

資料庫管理系統是一種軟體程式,它主要的工作就是儲存與管理資料,如果你把這個軟體程式安裝在一台電腦中,這台電腦就會稱為「資料庫伺服器」:

mysql_02_snap_05

在你有了一台資料庫伺服器以後,你就可以依照自己的需求,使用資料庫管理系統建立一些資料庫:

mysql_02_snap_06

1.2 資料庫

在使用資料庫前,要先在資料庫伺服器中建立需要的「資料庫、database」,你會依照自己的需求,建立一個或多個資料庫:

mysql_02_snap_07

各種資料庫伺服器軟體通常會提供一些用戶端軟體程式,讓使用者可以輸入與執行SQL敘述,或是執行管理與設定資料庫的工作:

mysql_02_snap_13

以儲存世界資料的資料庫來說,你想要把世界上所有的國家、城市和語言資料,在這個資料庫中儲存與管理。所以你會針對國家資料的部份,在世界資料庫中建立一個儲存國家資料的「表格、table」:

mysql_02_snap_08

儲存在世界資料庫中的國家資料,隨時可以依照不同的需求,查詢需要的國家資料:

mysql_02_snap_09

除了國家表格外,你還會在世界資料庫中建立儲存城市和語言資料的表格:

mysql_02_snap_10

2. SQL介紹

有許多廠商開發各種不同的資料庫管理系統產品,它們都可以執行儲存與管理資料的工作,而且使用的方式都是差不多的。執行資料儲存與管理的工作,主要有建立資料庫與表格,和執行資料的新增、修改、刪除與查詢。想要請資料庫管理系統執行這些工作,你會使用一種叫作「Structured Query Language、SQL」的敘述,一般會把「SQL」唸為「sequel」。

SQL在很久以前就已經是一種標準的技術,不同的資料庫管理系統產品,在執行資料庫的工作時,使用的SQL的敘述幾乎是一樣的:

mysql_02_snap_11

SQL有一套國際通用的標準,裡面規定了所有執行資料庫工作的SQL敘述要怎麼寫,不同的資料庫管理系統產品都會以這套標準為基礎。不過不同的產品通常會增加或修改一些SQL敘述,其它的資料庫管理系統就不認識這些SQL敘述了。

與資料庫伺服器相對的是「用戶端、client」,跟資料庫伺服器比起來,用戶端就會比較複雜一些:

mysql_02_snap_12

使用像是Java程式設計技術開發的各種應用程式,例如進銷存系統或會計系統,對資料庫伺服器來說,也算是一種用戶端軟體:

mysql_02_snap_14

不論是哪一種用戶端軟體,它們都是使用SQL敘述跟資料庫溝通:

mysql_02_snap_15

3. MySQL Workbench

MySQL提供的工具軟體,在這幾年有很大的進步,目前已經把所有常用的軟體整合在一起,稱為MySQL Workbench,裡面包含:

  • SQL Development:SQL開發工具,讓使用者輸入並執行SQL敘述
  • Database Design Modeling:資料庫設計與模型工具
  • Database Administration:資料庫管理工具
  • Database Migration:資料庫轉換工具

SQL Development是這個系列文章使用的工具軟體,使用這個內建的工具,可以很方便輸入需要執行的SQL敘述,並檢視執行後的結果:

mysql_02_snap_16

Database Design Modeling是一個圖形化的資料庫設計工具,可以幫助開發人員設計需要的資料庫,或是產生資料庫模型的文件:

mysql_02_snap_17

Database Administration可以提供開發人員執行管理MySQL資料庫的基本功能,也可以監控資料庫的狀態:

mysql_02_snap_18

4. 下載與安裝MySQL資料庫

如果你已經安裝過MySQL資料庫和可以輸入和執行SQL敘述的軟體,接下來的內容就可以忽略,直接到第五節安裝範例資料庫就可以了。

MySQL的官方網站目前提供一個完整的安裝程式,在Windows平台只要下載與安裝一個檔案,就包含資料庫伺服器和所有需要的工具軟體,包含這裡需要使用的MySQL Workbench。你可以到這個連結準備開始下載:

http://dev.mysql.com/downloads/windows/installer/

進入這個網站以後,參考下面的說明,下載與儲存完整的安裝檔案:

mysql_02_snap_19

下載完成後,執行安裝程式,選擇開始安裝並同意版權聲明後,在選擇安裝種類的畫面選擇Developer Default:

mysql_02_snap_20

後面的步驟依照畫面的指示,選擇Execute或Next,就會進入開始安裝的步驟。安裝完成後,就可以準備進入設定MySQL資料庫的步驟:

mysql_02_snap_21

依照畫面的指示,選擇Next進入設定資料庫管理員(root)密碼的步驟,輸入一個你自己決定的密碼:

mysql_02_snap_22

依照畫面的指示,選擇Next完成設定資料庫的工作。在最後完成安裝與設定的步驟,勾選Start MySQL Workbench after Setup選項後,選擇Finish結束安裝與設定MySQL資料庫的工作。

mysql_02_snap_23

安裝程式會啟動MySQL Workbench,依照下面的說明,準備設定資料庫連線的基本資訊:

mysql_02_snap_24

選擇下面畫面說明的按鈕:

mysql_02_snap_25

在出現的對話框中輸入在安裝過程中決定的密碼:

mysql_02_snap_26

選擇Test Connection按鈕:

mysql_02_snap_27

如果出現這樣的畫面,表示可以正確的連線到MySQL資料庫:

mysql_02_snap_28

在MySQL Workbench主畫面選擇Connect:

mysql_02_snap_29

連線到資料庫後,在左側的World資料庫名稱上點兩下(Double click),會發現World會變成粗體字,表示目前開啟(作用中)的資料庫。在畫面中輸入一個測試的SQL敘述,SELECT * FROM country。輸入完後,按下執行敘述的快速鍵Ctrl + Enter,就可以看到所有的國家資料:

mysql_02_snap_30

5. 安裝範例資料庫

完成前面的安裝與設定工作後,MySQL資料庫伺服器中已經有一個內建的範例資料庫world,後面的文章會使用這個資料庫討論與說明一些主題。不過因為這個資料庫比較簡單一些,所以要請你安裝另外一個範例資料庫,後面的文章討論到一些不同的主題時,就會用到這個額外的範例資料庫。

選擇下面的連結下載與儲存一個建立資料庫的SQL Script檔案:

http://drive.google.com/open?id=0B4xPn1yagKirUlFfeURFZHg4cUE

在MySQL Workbench中選擇File->Open SQL Script,選擇剛才下載與儲存的檔案,就可以看到像這樣的畫面:

MySQL_032

在MySQL Workbench中選擇Query->Execute(All or Selection),Workbench會花一點時間執行所有的敘述。執行完成後,在資料庫列表區塊的任何空白位置,按滑鼠右鍵後選擇Refresh All,就可以看到安裝好的新資料庫cmdev:

MySQL_033

選擇下面的連結下載與儲存另一個建立資料庫的SQL Script檔案,重複上面的步驟建立名稱為world的範例資料庫:

http://drive.google.com/open?id=0B4xPn1yagKirQUtMU2lITncyOTQ

完成所有準備工作,下一篇文章就可以開始進入SQL的世界了。

後續 >> MySQL 超新手入門(3)SELECT 基礎查詢

分享:
按讚!加入 CodeData Facebook 粉絲群

相關文章

留言

留言請先。還沒帳號註冊也可以使用FacebookGoogle+登錄留言

yulin wang01/20

感謝教學
好文收下了!

洪昌平04/23

感謝好文章! 謝謝!

Jiivanesha Hsu08/11

您好, 請問我依你的教學安裝了MySQL在2台WIN7電腦上, 一台OK,但另一台卻不行, 在start MySQL server那裡怎麼都起不來!
可以幫忙解這問題嗎? Start up message log如下:
2014-08-11 09:49:19 - Workbench will use cmd shell commands to start/stop this instance
2014-08-11 09:49:30 - Starting server...
2014-08-11 09:49:30 - Server start done.
2014-08-11 09:49:31 - Checking server status...
2014-08-11 09:49:31 - Trying to connect to MySQL...
2014-08-11 09:49:31 - Lost connection to MySQL server at 'reading initial communication packet', system error: 0 (2013)
2014-08-11 09:49:31 - Assuming server is not running
2014-08-11 09:49:31 - Checking server status...
2014-08-11 09:49:31 - Trying to connect to MySQL...
2014-08-11 09:49:31 - Can't connect to MySQL server on '127.0.0.1' (10061) (2003)
2014-08-11 09:49:31 - Assuming server is not running

Han-Pin Wang08/13

我可以順利安裝,但是卻連不進伺服器,他顯示
Can't connect to MySQL server on '127.0.0.1' (10061)
昨天早上安裝完還可以,等晚上再試一下就不行到現在了
怎麼辦?

Ai Ling09/21

謝謝你的分享 !!!!非常實用 ! (鞠躬)

tuogjlbm10/04

謝謝您的教學文章
我想問一下 在設定的步驟那邊
有個Manage Server Connections設定表單
設定完後右下角按下Test Connection後
出現的MySql Workbench裡面 除了上面範例的內容以外 還多了一條SSL not enabled
這樣會影響MYSQL使用的情況嗎? 要如何解決呢?

tuogjlbm10/04

您好 在您的第5個步驟的部分
下載cmdev檔案後讀取完畢
但是要按下Execute之後卻出現了ERROR CODE 1064
查看程式碼後發現在第212的地方出現錯誤 請問要如何解決呢?

Kevin Lin10/16

你好 我安裝上遇到問題
其中需要安裝 visual studio tools for office 2010 64 bits
跑完之後 他還是顯示沒有安裝 所以導致 MySQL For Excel 1.3.2 無法安裝
我去控制台 程式和功能 裡面看 是有安裝進去的
不管重新幾次都沒辦法 請問有甚麼解決辦法嗎?

Sally2002hk0111/05

你好,我安裝後有些問題發生

他說我
"connection parameter are correct
ssl not enable "
請問要如何解決,這個問題重要嗎?
因為我要寫個MYSQL後連在PHP到做MAIL MERGE
請問應如何解決呢???
THANKS

王威章11/06

0 5343 07:03:00 SET character_set_client='big5' Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET character_set_client='big5'' at line 1 0.000 sec...............第一個資料庫Execute(All or Selection)後一直出現的錯誤訊息,我發現程式這一段的logno備標註紅色底線

王威章11/06

message varchar(64),
PRIMARY KEY logno (logno)
);

as36151495501/24

不好意思請問一下,
我下載cmdev檔案後讀取完畢
但是要按下Execute之後卻出現了ERROR CODE 1064
查看程式碼後發現在第212的地方出現錯誤 請問要如何解決呢?
也就是PRIMARY KEY logno (logno)這個地方。

yuanhao02/06

Michael哥好

我用您的方式在管理->服務 啟動了MySQL5.6
之後並沒有出現1064的錯誤,但是出現了以下的錯誤訊息,請問您有解決的方式嗎?


17:25:39 DROP DATABASE IF EXISTS cmdev Error Code: 1044. Access denied for user 'CWM'@'%' to database 'cmdev' 1.248 sec

eason042007/11

想請問一下為什麼安裝完之後無法執行MySQL Workbench
也都找不到位置,安裝完後MySQL Workbench並沒有自己啟動,已經全部移除又重新安裝好幾次了卻還是不行,可以幫忙解決嗎謝謝

bibi83091907/15

你好 我是my sql新手
CREATE DATABASE hospital CHARACTER SET big5;
這一行不知道哪裏有錯 因為我還不太懂所以我是用上面的範例直接改 好像跟大家SET character_set_client='big5' 不太一樣

請問要怎麼解決呢?

abcdes9530508/04

您好請問一下
我在mysql workbench建立了我要的資料庫
我現在想把我建立的資料庫移到另一台電腦
請問檔案是放在哪個檔案夾裡面呢?
還有就是移到另一台電腦上 還有甚麼東西要複製的嗎?

yahanyu042112/01

您好 您的文章真的好淺顯易懂 對於我這個剛想要認真學習資料庫的超級新手來說真的是一大福音!!!!!!!
但有個問題想要請您幫我解惑
我照著您的步驟安裝好了SQL也把您的範例資料庫放進去
可是執行的時候它顯示ERROR CODE 1818
我GOOGLE一下好像說是My SQL5.7的新特性
說是不支援YEAR(2)了 請問我該怎麼辦呢?更新My SQL嗎??

劉政鴻02/23

您好
我安裝 MySQL 5.7.17 版本
到步驟connect to server
出現No Compatible were found. You'll need cancel this wizard and install one
無法前進下一步

Kuang Kai04/01

範例資料庫的連結掛了!!!

李岱陽05/24

michael哥 範例資料庫的檔案好像無法下載了

poyiwu070507/04

Michael您好
我是SQL完全新手,按照您的步驟做,做到安裝範例資料庫的cmdev的時候 Action Output清單有出現一些警告,可是Refresh All 還是有出現cmdev,警告的內容如下:

1 2 12:37:11 DROP DATABASE IF EXISTS cmdev 0 row(s) affected, 1 warning(s):
1008 Can't drop database 'cmdev'; database doesn't exist 0.000 sec

1 5 12:37:11 DROP TABLE IF EXISTS emp 0 row(s) affected, 1 warning(s):
1051 Unknown table 'cmdev.emp' 0.000 sec

1 21 12:37:11 DROP TABLE IF EXISTS dept 0 row(s) affected, 1 warning(s):
1051 Unknown table 'cmdev.dept' 0.000 sec

1 28 12:37:11 DROP TABLE IF EXISTS travel 0 row(s) affected, 1 warning(s):
1051 Unknown table 'cmdev.travel' 0.000 sec

1 59 12:37:12 DROP TABLE IF EXISTS deptlog 0 row(s) affected, 1 warning(s):
1051 Unknown table 'cmdev.deptlog' 0.000 sec

1 61 12:37:12 DROP TABLE IF EXISTS emplog 0 row(s) affected, 1 warning(s):
1051 Unknown table 'cmdev.emplog' 0.000 sec

請問這個要如何處理,造成您的困擾了

MING-HAN LIN09/09

你好
請問:前面安裝都OK,開啟workbench時顯示無法連線至server,檢查MySQL服務的狀態為「已啟動」,MySQL server已是最新版,這樣是哪個環節出錯了呢QQ 期待您的回覆! han

eating kuo12/31

我是SQL超新手,請問一下,如果要查詢完一個項目後,再進行下一次查詢一定要再開一個新的SCRIPT嗎?還是有什麼其他方法呢,因為我想把好多學習過的過程存在一個檔案內。

波尼匠的實驗室05/30

感謝大大的分享,只是剛剛實裝在visual c那邊卡了超久…
沒想到先裝了2017就不能裝了,好險移除了就可以了。
你問我卡了多久?
大約有一天這麼久吧。

熱門論壇文章

熱門技術文章