給新手學(xué)習(xí)MySQL的建議
前言:
經(jīng)常有小伙伴問我:MySQL 應(yīng)該怎么學(xué)?小白如何入門?我在想,我當(dāng)時是如何學(xué)習(xí) MySQL 的,是否可以給到初學(xué)者幾點(diǎn)建議,本篇文章,筆者將以自己的經(jīng)驗及認(rèn)知,談?wù)勎覍π率謱W(xué)習(xí) MySQL 的建議。
搭建好環(huán)境,弄清基礎(chǔ)概念。
學(xué)習(xí) MySQL ,首先要有個自己的環(huán)境,可以在自己本機(jī)或某臺虛擬機(jī)上安裝下 MySQL ,建議最好使用 Linux 系統(tǒng),體驗下完整的安裝步驟,盡量理解清楚每個步驟的作用。關(guān)于安裝教程,可以參考 Windows 及 Linux 這兩篇文章。
接下來,你要弄清一些基礎(chǔ)概念了,比如什么是庫、表、字段、索引啊等等。說到這里,就簡單介紹下一些常見的基礎(chǔ)概念吧:
實(shí)例(instance):指的是操作系統(tǒng)上的一組進(jìn)程/線程和內(nèi)存的集合。比如我們在本機(jī)安裝好 MySQL ,那就代表著我們本地有一套 MySQL 實(shí)例。
數(shù)據(jù)庫(database):指的是文件系統(tǒng)上的一組文件,等同于 schema 。
表(table):表是數(shù)據(jù)的矩陣。在一個數(shù)據(jù)庫中的表看起來像一個簡單的電子表格。
字段(column):字段是指數(shù)據(jù)表的列,表由字段組成。
索引(index):索引是對數(shù)據(jù)庫表中一列或多列的值進(jìn)行排序的一種結(jié)構(gòu)。類似于書籍的目錄。
主鍵(primary key):主鍵是唯一的。一個數(shù)據(jù)表中只能包含一個主鍵。
記錄(record):指數(shù)據(jù),一行可稱為一條記錄。
服務(wù)端(server):指 MySQL 服務(wù)所在端,一般可理解為 MySQL 所在主機(jī)。
客戶端(client):連接數(shù)據(jù)庫部分,比如 Navicat、jdbc 程序都可稱為客戶端。
數(shù)據(jù)類型(Data Types):又稱字段類型,即定義某個字段所能存儲的類型,如 int 、varchar 等。
字符集(character set):字符是各種文字和符號的總稱,字符集是多個字符的集合。
學(xué)習(xí)基礎(chǔ)操作,熟悉命令規(guī)范。
了解過基礎(chǔ)概念后,建議你逐步學(xué)習(xí)一些基礎(chǔ)操作,比如如何建庫、建表、插入數(shù)據(jù)、修改數(shù)據(jù)、刪除數(shù)據(jù)、查詢數(shù)據(jù)等等。這部分主要練習(xí)的是 DDL 及 DML 語句。建議大家一定要按照命令規(guī)范來,比如插入數(shù)據(jù)時指定字段名,建表時指定字符集。
你可以使用 MySQL 命令行來執(zhí)行 SQL ,也可以使用可視化客戶端,關(guān)鍵是要明白你每步操作的意義及每條 SQL 的作用。關(guān)于基礎(chǔ)命令操作,可以參考之前發(fā)的《入門 MySQL 》系列文章。
了解報錯內(nèi)容,善用搜索引擎。
在執(zhí)行 SQL 或連接數(shù)據(jù)庫過程中,難免會遇到各種報錯,這個時候建議你先仔細(xì)看下是否存在書寫及標(biāo)點(diǎn)錯誤,關(guān)鍵還是要留意報錯內(nèi)容,根據(jù)報錯內(nèi)容大概率就能發(fā)現(xiàn)問題所在,比如 Access denied for user xxx 、able 'xxx' doesn't exist ... 有些看到報錯內(nèi)容很明顯就可以發(fā)現(xiàn)問題,若實(shí)在找不到問題,可以復(fù)制報錯內(nèi)容到搜索引擎查找下,要相信不只你一個人遇到過這類錯誤。
根據(jù)你的崗位,有目的的進(jìn)行學(xué)習(xí)。
在互聯(lián)網(wǎng)行業(yè),不同崗位的小伙伴可能都會用到 MySQL ,但不同崗位員工學(xué)習(xí) MySQL 的側(cè)重點(diǎn)卻不盡相同。例如做數(shù)據(jù)分析的同學(xué)可能平時寫查詢 SQL 比較多,開發(fā)同學(xué)更側(cè)重程序邏輯如何與數(shù)據(jù)庫交互,DBA 同學(xué)可能側(cè)重在數(shù)據(jù)庫高性能高可用方面。所以建議你根據(jù)自己的需求,有側(cè)重點(diǎn)的進(jìn)行學(xué)習(xí)。
要系統(tǒng)、循序漸進(jìn)的學(xué)習(xí)。
市面上關(guān)于 MySQL 的學(xué)習(xí)資料有很多,建議選取一個系統(tǒng)的資料進(jìn)行學(xué)習(xí),可以是一本書、一個網(wǎng)站等。切記不要這個資料看一點(diǎn)又轉(zhuǎn)向另外一些資料。關(guān)于 MySQL 系統(tǒng)學(xué)習(xí)資料,可以參考這篇文章。
同其他語言學(xué)習(xí)方法一樣,MySQL 學(xué)習(xí)也要循序漸進(jìn),不能說我一上來就學(xué)習(xí)事務(wù)、學(xué)習(xí) SQL 優(yōu)化,任何事情都要一步步來。當(dāng)然最重要的還是堅持,我一直認(rèn)為,有需求才能推動你去學(xué)習(xí),假如你工作中經(jīng)常用到 MySQL 或者某個項目要使用 MySQL ,那么你自然而然的就會慢慢了解 MySQL ,如果你平時基本沒有使用 MySQL 的需求,我相信你也不會有很大的動力去學(xué)習(xí)了。
總結(jié):
碎碎念了這么多,還是希望各位新手能夠有信心,MySQL 數(shù)據(jù)庫本身還是很容易上手的,它作為一款開源的數(shù)據(jù)庫,具有小巧靈活的特點(diǎn),不像 Oracle 一樣對安裝環(huán)境有著較高的要求且安裝步驟復(fù)雜 。關(guān)鍵還是要堅持系統(tǒng)的去學(xué)習(xí),要記住它只是一個工具,你學(xué)得越好就能用它越好。
推薦閱讀
(點(diǎn)擊標(biāo)題可跳轉(zhuǎn)閱讀)
- End -