給新手學習MySQL的建議

前言:

經常有小夥伴問我:MySQL 應該怎麼學?小白如何入門?我在想,我當時是如何學習 MySQL 的,是否可以給到初學者幾點建議,本篇文章,筆者將以自己的經驗及認知,談談我對新手學習 MySQL 的建議。

搭建好環境,弄清基礎概念。

學習 MySQL ,首先要有個自己的環境,可以在自己本機或某臺虛擬機器上安裝下 MySQL ,建議最好使用 Linux 系統,體驗下完整的安裝步驟,儘量理解清楚每個步驟的作用。

接下來,你要弄清一些基礎概念了,比如什麼是庫、表、欄位、索引啊等等。說到這裡,就簡單介紹下一些常見的基礎概念吧:

例項(instance)

:指的是作業系統上的一組程序/執行緒和記憶體的集合。比如我們在本機安裝好 MySQL ,那就代表著我們本地有一套 MySQL 例項。

資料庫(database)

:指的是檔案系統上的一組檔案,等同於 schema 。

表(table)

:表是資料的矩陣。在一個數據庫中的表看起來像一個簡單的電子表格。

欄位(column)

:欄位是指資料表的列,表由欄位組成。

索引(index)

:索引是對資料庫表中一列或多列的值進行排序的一種結構。類似於書籍的目錄。

主鍵(primary key)

:主鍵是唯一的。一個數據表中只能包含一個主鍵。

記錄(record)

:指資料,一行可稱為一條記錄。

服務端(server)

:指 MySQL 服務所在端,一般可理解為 MySQL 所在主機。

客戶端(client)

:連線資料庫部分,比如 Navicat、jdbc 程式都可稱為客戶端。

資料型別(Data Types)

:又稱欄位型別,即定義某個欄位所能儲存的型別,如 int 、varchar 等。

字符集(character set)

:字元是各種文字和符號的總稱,字符集是多個字元的集合。

學習基礎操作,熟悉命令規範。

瞭解過基礎概念後,建議你逐步學習一些基礎操作,比如如何建庫、建表、插入資料、修改資料、刪除資料、查詢資料等等。這部分主要練習的是 DDL 及 DML 語句。建議大家一定要按照命令規範來,比如插入資料時指定欄位名,建表時指定字符集。

你可以使用 MySQL 命令列來執行 SQL ,也可以使用視覺化客戶端,關鍵是要明白你每步操作的意義及每條 SQL 的作用。

瞭解報錯內容,學會使用搜索引擎。

在執行 SQL 或連線資料庫過程中,難免會遇到各種報錯,這個時候建議你先仔細看下是否存在書寫及標點錯誤,關鍵還是要留意報錯內容,根據報錯內容大機率就能發現問題所在,比如 Access denied for user xxx 、able ‘xxx’ doesn‘t exist 。。。 有些看到報錯內容很明顯就可以發現問題,若實在找不到問題,可以複製報錯內容到搜尋引擎查詢下,要相信不只你一個人遇到過這類錯誤。

根據你的崗位,有目的的進行學習。

在網際網路行業,不同崗位的小夥伴可能都會用到 MySQL ,但不同崗位員工學習 MySQL 的側重點卻不盡相同。例如做資料分析的同學可能平時寫查詢 SQL 比較多,開發同學更側重程式邏輯如何與資料庫互動,DBA 同學可能側重在資料庫高效能高可用方面。所以建議你根據自己的需求,有側重點的進行學習。

要系統、循序漸進的學習。

市面上關於 MySQL 的學習資料有很多,建議選取一個系統的資料進行學習,可以是一本書、一個網站等。切記不要這個資料看一點又轉向另外一些資料。

同其他語言學習方法一樣,MySQL 學習也要循序漸進,不能說我一上來就學習事務、學習 SQL 最佳化,任何事情都要一步步來。當然最重要的還是堅持,我一直認為,有需求才能推動你去學習,假如你工作中經常用到 MySQL 或者某個專案要使用 MySQL ,那麼你自然而然的就會慢慢了解 MySQL ,如果你平時基本沒有使用 MySQL 的需求,我相信你也不會有很大的動力去學習了。

總結:

碎碎唸了這麼多,還是希望各位新手能夠有信心,MySQL 資料庫本身還是很容易上手的,它作為一款開源的資料庫,具有小巧靈活的特點,不像 Oracle 一樣對安裝環境有著較高的要求且安裝步驟複雜 。關鍵還是要堅持系統的去學習,要記住它只是一個工具,你學得越好就能用它越好。