給新手學習MySQL的建議
本篇文章,筆者將以自己的經驗及認知,談談我對新手學習 MySQL 的建議。
搭建好環境,弄清基礎概念。
學習 MySQL ,首先要有個自己的環境,可以在自己本機或某臺虛擬機上安裝下 MySQL ,建議最好使用 Linux 系統,體驗下完整的安裝步驟,盡量理解清楚每個步驟的作用。關于安裝教程,可以參考 Windows 及 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 的作用。關于基礎命令操作,可以參考之前發的《入門 MySQL 》系列文章。
了解報錯內容,善用搜索引擎。
在執行 SQL 或連接數據庫過程中,難免會遇到各種報錯,這個時候建議你先仔細看下是否存在書寫及標點錯誤,關鍵還是要留意報錯內容,根據報錯內容大概率就能發現問題所在,比如 Access denied for user xxx 、able 'xxx' doesn't exist ... 有些看到報錯內容很明顯就可以發現問題,若實在找不到問題,可以復制報錯內容到搜索引擎查找下,要相信不只你一個人遇到過這類錯誤。
根據你的崗位,有目的的進行學習。
在互聯網行業,不同崗位的小伙伴可能都會用到 MySQL ,但不同崗位員工學習 MySQL 的側重點卻不盡相同。例如做數據分析的同學可能平時寫查詢 SQL 比較多,開發同學更側重程序邏輯如何與數據庫交互,DBA 同學可能側重在數據庫高性能高可用方面。所以建議你根據自己的需求,有側重點的進行學習。
要系統、循序漸進的學習。
市面上關于 MySQL 的學習資料有很多,建議選取一個系統的資料進行學習,可以是一本書、一個網站等。切記不要這個資料看一點又轉向另外一些資料。關于 MySQL 系統學習資料,可以參考這篇文章。
同其他語言學習方法一樣,MySQL 學習也要循序漸進,不能說我一上來就學習事務、學習 SQL 優化,任何事情都要一步步來。當然最重要的還是堅持,我一直認為,有需求才能推動你去學習,假如你工作中經常用到 MySQL 或者某個項目要使用 MySQL ,那么你自然而然的就會慢慢了解 MySQL ,如果你平時基本沒有使用 MySQL 的需求,我相信你也不會有很大的動力去學習了。
總結:
碎碎念了這么多,還是希望各位新手能夠有信心,MySQL 數據庫本身還是很容易上手的,它作為一款開源的數據庫,具有小巧靈活的特點,不像 Oracle 一樣對安裝環境有著較高的要求且安裝步驟復雜 。關鍵還是要堅持系統的去學習,要記住它只是一個工具,你學得越好就能用它越好。