本文目錄一覽:
先學sql還是先學mysql?
我建議直接學習mysql,因為雖然sql語句大多都是通用的,但是還是有差別的,直接學習mysql可以有很好的針對性,目的性更強,學好之後再進行擴展。
由於這四個軟件都是免費或開放源碼軟件(FLOSS),因此使用這種方式不用花一分錢(除開人工成本)就可以建立起一個穩定、免費的網站系統,被業界稱為“LAMP“或“LNMP”組合。
應用環境:
與其他的大型數據庫例如 Oracle、DB2、SQL Server等相比,MySQL [1] 自有它的不足之處,但是這絲毫也沒有減少它受歡迎的程度。對於一般的個人使用者和中小型企業來說,MySQL提供的功能已經綽綽有餘,而且由於 MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。
Linux作為操作系統,Apache 或Nginx作為 Web 服務器,MySQL 作為數據庫,PHP/Perl/Python作為服務器端腳本解釋器。
怎樣學習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。所以的所以,你必須不斷思考,才能在工作中面對具體場景的時候,非常淡定地推斷:“哦,一定是這裡出了問題。應該怎麼怎麼做。”面對問題,拿出打破砂鍋問到底的精神,先思考一番,給出自己的假設,不要着急地去找度娘,谷歌。思考過後,帶着你的推斷或者答案,大膽地去搜索吧!去看看別人的見解,去看看官方的描述!這才是一個工程師應有的態度。最後我想給出一些有價值的學習資料。可以省去一些時間。-電子書:我認為多看書還是有好處的。有些書值得反覆看許多遍,有時候只看一遍無法深刻理解吸收,思考也不夠充分
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/291219.html