怎麼學好mysql數據庫,數據庫咋學

本文目錄一覽:

該怎麼學習MySQL數據庫,從基礎學起的哪種?

如果你沒有 MySQL 的基礎,建議可以看看以下書籍:

《MySQL 必知必會》:主要講 SQL 的寫法

《深入淺出 MySQL》:比較全面的講解了 MySQL 的基礎知識,也涉及了一些優化。

如果已經對 MySQL 比較熟悉了,可以看下面的書籍:

《高性能 MySQL》:裡面講了很多 MySQL 優化技巧。

《MySQL 技術內幕》:講解了很多 MySQL 原理,強力推薦給想深入學習 MySQL 的同學。

《MySQL 內核:InnoDB 存儲引擎》:想深入研究 MySQL 內核及原理的可以看看。

《MySQL 運維內參》:對 MySQL 源碼感興趣,可以入手。

《MySQL Internals Manual》

《MySQL 5.7 Reference Manual》

零基礎如何自學使用MySQL數據庫?

對於非計算機出身的我,大學只會hello word和跑馬燈,期間過程確實非常曲折,分享下我的自學過程:

1、 自己在windows和linux上安裝了mysql,自學linux的基礎知識,學習mysql的最基礎的知識,即怎麼寫sql,存儲過程,表的設計等,從0到熟悉大概花了3個月 ,推薦《mysql入門很簡單》。

2、系統地較為深入地學習mysql的sql優化,備份和恢復,參數優化,架構優化,硬件層面的優化,高可用方案,複製技術等等,這段時間你不一定能實際接觸到這些,就像我當初那樣,肯定沒什麼公司招一個小白。 我選擇自己看書,推薦《高性能mysql》,裡面所有的章節都需要看一遍,以現在的水平肯定看不懂,但需要知道大概怎麼回事,為後續的找mysql初級dba的工作打一個鋪墊,這個過程大概也需要3個月。

3、 紙上得來終覺淺,完成以上兩步,我開始準備找一份mysql相關的工作,而不是天天用着excel表格做着select * from table_sb這樣的工作。 當然我這麼猥瑣的人肯定不會裸辭,該畫的電路板也一樣畫,業餘時間開始投初級mysql dba的工作,並且不間斷地學習,網上各種找mysql面試的相關題目(實際上我當時完全沒有任何實戰經驗),陸續收到一些面試,憑藉之前自學的mysql知識,開始胡亂吹牛逼,先混進去再說。 你不做mysql實際相關的工作,永遠也不知道自己之前認知的db知識有多幼稚。 友情提示一點,一般公司都沒有專職dba的,所以面試的時候一定要自信,其實你學了這麼多,雖然毫無實戰經驗,理論知識很大概率比面試你的人牛逼,所以各種吹,我就這樣真正進入初級dba的圈子(由於這時對linux還處於cd ls的水平,所以之前也根本沒做過運維),這個邊工作邊找工作的過程又持續了2個月。

4、真正進入互聯網,接觸生產環境後,這是我進步最大的時候。 第一步需要將之前所學真正地應用起來,並且應用的過程中,再回頭看之前的書籍,這時候需要真正去理解,而不是似是而非,一知半解。 這時再推薦《高性能mysql 第三版》,全本再看一遍,這時需要全部看懂,另外還有《mysql技術內幕:innodb存儲引擎》等等。 總之這段時間就需要開始關注mysql一些細節了,比如db故障處理,高可用,負載均衡等等的具體實現了。 另外,linux的知識同步也要深入去學習,至少會寫shell腳本,常見的linux知識等,我在這花了1年多;

5、 dba的工作一般是非常輕閑的,畢竟不是大公司,技術能力有限,該學的也學得差不多了,接觸不到海量數據,高並發等比較鍛煉人的場合,於是我又準備跳了。 於是來了公有雲,現在每天運維萬多個db實例,平均每天處理5+個緊急db故障,幾乎mysql會遇到的問題,感覺都遇到了,能感覺到技術實力和經驗也在每天都在積累,在進步。 但是感覺還是欠缺了很多,下一步就看你選擇了,是再去研究源代碼,底層原理的東西多點,還是數據庫運維和應用多一點,就比如業界姜承堯,何登成與葉金榮的區別。 由於我的歷史原因,對c++等幾乎不懂,平時也用不到,所以看代碼等事實際太累,於是我再去學mongodb,接了公司mongodb運維的活,算是在廣度上的一個擴展,萬一哪天mysql不行了呢

6、 總之,對於db小白來說,最重要的一點就是,學習的過程不能斷。 PS 上面的方法比較野路子,適合沒什麼基礎的童鞋,如果本來就是DBA,比如從oracle轉到mysql,那麼建議直接看mysql官方文檔,而官方文檔是db達到一定水平後必看,出問題時必查的權威文檔。

怎樣學習sql

SQL學習路線

1、下載安裝MySQL,或者安裝軟件phpstudy(這個軟件自帶了mysql數據庫,而且安裝啟動方便)。

2、我這裡用的是phpstudy,打開phpstudy後,點擊下圖中的啟動,點擊後數據庫服務就會啟動了

3、下載安裝Navicat軟件

這個軟件可以輕鬆連接數據庫,我們可以在這個軟件中練習學習SQL語法

4、使用Navicat建立數據庫連接

點擊文件——新建連接,連接名隨便填寫,比如寫“本地”。主機名、端口都不需要修改,用戶名和密碼都是root(因為我們安裝的phpstudy里的mysql默認用戶名密碼就是root),點擊連接測試顯示為成功後點確定保存。

以後再次訪問時,雙擊即可。

5、下載習題進行學習,內含習題需要用到的數據表。

6、導入第5步中下載的數據表。(後台回復關鍵詞“SQL”獲得)

右擊第4步中的“本地”,新建一個數據庫test1,雙擊打開新建的數據庫(打開後顏色是綠色)。

拖拽剛才下載的數據表文件(sqltest1.sql)到test1上面。

這時會出現上述彈窗,點擊開始,等待導入完成後,點擊關閉

在左側空白處右擊,選擇“刷新”,即可看到剛才導入的數據表了。

7、打開sql語法編輯器

如下圖點擊查詢——新建查詢,在空白處輸入sql語法,點擊運行,如果輸入錯誤會有報錯,輸入正確則會返回查詢內容。

8、邊做邊學

打開第一部分習題,邊做邊學,通過查詢w3c的sql語法手冊完成

9、鞏固練習

嘗試不看sql語法手冊,獨立完成第二部分習題。

以上是sql的學習路徑。

mysql數據庫怎麼學

先給出我的核心觀點:

學習,無論你是學什麼,也無論你有沒有基礎。思考永遠是第一位的,有些知識你沒接觸過不要緊,用不着害怕,也沒必要害怕。重要的是一秒鐘也不要停止思考,問題要想透徹,正所謂磨刀不誤砍柴工。尤其是作為工程師,要有打破砂鍋問到底的精神,否則你怎麼學都沒用。

首先,學習基本的SQL語法。完成這個後,你就可以編寫SQL語句了。這一步推薦:W3Schools的 SQL 教程。

其次,學習數據庫的主要功能和使用方法,比如用戶相關或者權限相關等等。

我推薦兩本書:

一、《MySQL必知必會》 這本書講的非常全,從基本概念,到查詢到插入新建表,用戶的管理,都有具體的例子,非常適合沒有任何基礎的同學來學習Mysql,總之這本書學習的方法就是:1、十分鐘了解下數據庫的基本概念 2、找到練手的數據庫 3、對照着上面的內容去敲。本書里也有大量的內容是講sql的,可以結合w3c的sql教程一起,有取捨地看。

二、《數據庫系統概念》這本書是dba必看的。看完這些並且實踐+思考之後,可以算入門了。接下來對於希望深入學習的童鞋我推薦幾本書(很多大神都這麼推薦),《高性能MySQL(第3版)》、 《MySQL技術內幕(第4版)》,《MySQL技術內幕 InnoDB存儲引擎》,《深入理解MySQL》還有Mysql的官網。讀完這些東西,再加些豐富的經驗,理論上來講就具備DBA的水平了。十分推薦閱讀Planet MySQL上匯總的博客,特別是Percona’s MySQL InnoDB performance and scalability blog但是,正如我開頭所言的。

面對問題的時候一定要積極思考!比如:我問你,面對一個並發量比較高的場景,如何配置mysql的連接數?你可能會回答:“哦,就是調高max_connection的數值吧。”那,你有沒有思考過調到多少是最合適的呢?為什麼這樣設置就最合適呢?也許你會回答:“恩我知道,可以看系統之前的max_used_connection的數值,然後來設置。也可以調高back_log的值。”那你有沒有思考過,max_connection連接數太高會有什麼不好的影響呢?back_log設置的太高有什麼不好的地方呢?max_connect的上限其實是取決於mysql能獲得的文件描述符的數量,也就是說你就算設置成10000,最後也是沒用的,系統會根據機器的情況自動調低。也許你會回答:“恩我知道,設置太高,會有系統開銷…”那你有沒有思考過,這些開銷具體是什麼呢?是什麼工作導致了需要這些內存開銷?也許你還會回答,在連接創建的時候,會立刻為它分配連接緩衝區以及查詢緩衝區,這些都會吃內存。那你有沒有思考過,佔據的資源具體是多少呢?取決於哪些因素呢?好了,我們先結束這個問題。回到知乎的問題上來,其實我說了這麼多,就是表達要如何自學mysql。所以的所以,你必須不斷思考,才能在工作中面對具體場景的時候,非常淡定地推斷:“哦,一定是這裡出了問題。應該怎麼怎麼做。”面對問題,拿出打破砂鍋問到底的精神,先思考一番,給出自己的假設,不要着急地去找度娘,谷歌。思考過後,帶着你的推斷或者答案,大膽地去搜索吧!去看看別人的見解,去看看官方的描述!這才是一個工程師應有的態度。最後我想給出一些有價值的學習資料。可以省去一些時間。-電子書:我認為多看書還是有好處的。有些書值得反覆看許多遍,有時候只看一遍無法深刻理解吸收,思考也不夠充分

如何學好MYSQL數據庫呢

看書或者網上的教程:

從基礎開始學習,數據庫的安裝、常用的CRUD操作、以及數據庫的維護方面的知識,一邊學習一邊操作。多多練習時間長了就了解了;

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/278834.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-20 15:01
下一篇 2024-12-20 15:02

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • 數據庫第三範式會有刪除插入異常

    如果沒有正確設計數據庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係數據庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的數據庫存儲引擎

    本文將介紹兩款高性能的數據庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • Python怎麼導入數據庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的數據庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL數據庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28

發表回復

登錄後才能評論