{eval=Array;=+count(Array);}
自學(xué)SQL數(shù)據(jù)庫,說難也不難,主要做好以下幾點:
目前流行的數(shù)據(jù)庫環(huán)境,主要包括MySQL、Oracle、SQLServer、PostgreSQL、SQLite等。這幾個都屬于經(jīng)典的傳統(tǒng)關(guān)系型數(shù)據(jù)庫,對ANSI-SQL的支持都不錯。個人建議最好選擇開源數(shù)據(jù)庫系統(tǒng)。
Oracle、SQLServer都屬于商業(yè)數(shù)據(jù)庫,死貴死貴的,MySQL自從被Oracle收購后,其前景堪憂,很可能跟Java的下場一樣,SQLite太小型,對上SQL的支持很有限。本人建議最好選擇PostgreSQL。
我不是亂說的,PostgreSQL號稱“全世界最強大的開源數(shù)據(jù)庫”,這名號絕對不是蓋的,真材實料。雖然國內(nèi)MySQL的流行程序要高于PostgreSQL,但要看未來。美國的尿性我們都知道,連Android都要搞事情,MySQL以后我們能不能用都是問題。
最重要的,PostgreSQL不但功能強大不弱于大型商業(yè)數(shù)據(jù)庫、而且完全開源不需要任何商業(yè)授權(quán),她屬于全世界,而不是美帝,大膽的學(xué)、大膽的用,沒有任何后顧之憂。要學(xué)就學(xué)最有前途的。
俗話說,學(xué)以致用,如果您的學(xué)習(xí)沒有任何場景,那就是無的放矢,學(xué)起來不但累而且沒有成就感。干巴巴的語法雖然看上去很簡單,但您不清楚學(xué)來干什么,還會有深入學(xué)習(xí)的興趣么?就算您硬著頭皮死啃,沒有成就感您能堅持多久?
所以,您必須有一個完整的應(yīng)用場景,您學(xué)習(xí)的目的,就是圍繞這個應(yīng)用場景展開。當(dāng)然,應(yīng)用場景不是天生就有的,如果您為了工作,可能場景已經(jīng)被事先設(shè)置好了;如果您只是為了學(xué)習(xí),就需要創(chuàng)建一個應(yīng)用場景。當(dāng)然不能隨便創(chuàng)建場景,您要以自己很熟悉的領(lǐng)域作為應(yīng)用場景。比如學(xué)校的學(xué)籍管理、公司的人事管理等等。
有了應(yīng)用場景,您就可以圍繞應(yīng)用場景展開數(shù)據(jù)庫設(shè)計、表結(jié)構(gòu)設(shè)計、關(guān)聯(lián)設(shè)計、存儲過程設(shè)計等等。各種應(yīng)用能夠?qū)崿F(xiàn)可以衡量的結(jié)果,您學(xué)起來就來了興趣。完成應(yīng)用場景需求的過程中,各種SQL語法您很自然就用到和掌握了。
如果您是程序開發(fā)人員,最好與您的開發(fā)環(huán)境融合起來,通過編程實現(xiàn)程序前端、數(shù)據(jù)庫作為后臺,各種應(yīng)用效果就更直觀,學(xué)起來興趣就越來越濃。說不準(zhǔn)學(xué)習(xí)的過程還能做出來一個不錯的系統(tǒng),何嘗不是意外的收獲啊。
SQL和數(shù)據(jù)庫有很多實用技巧,您學(xué)的越多、學(xué)的越久,就會有越多的問題和困惑。有些問題解決起來得心應(yīng)手、而有些問題卻總讓您頭疼。頭疼不是您水平低,很可能是因為您平時沒有話費足夠的時間研究SQL和數(shù)據(jù)庫。
自學(xué)往往沒有足夠的時間系統(tǒng)學(xué)習(xí),這沒辦法,但您可以做好筆記,把各種處理的經(jīng)典方案SQL腳本留存起來,以后使用的時候,可以隨時查閱。但如果您任何處理都要不停的查找解決方案,那您的學(xué)習(xí)就太失敗了。
我們總會碰到各種奇葩需求,之所以奇葩,主要是我們沒處理該類需求的經(jīng)驗、或者我們的知識存在各種斷層,要讓自己有足夠的底氣,您只有考多積累,日積月累多思考多試驗,崩總想著自己是高手能搞定一切,該查資料就查,查了之后做好筆記記錄,爭取下次就會處理了,時間長了,無形中您就成了高手了。
這里就推薦一些我學(xué)習(xí)數(shù)據(jù)庫時候用到的。
想學(xué)sql,先學(xué)數(shù)據(jù)庫,知識理論真的很重要,別跟我說什么上手操作,不夠扎實,我以前寫sql也很厲害,就是靠這個方法。
第一周:方法論的學(xué)習(xí)
方法論來自于電子書《SQL基礎(chǔ)教程》(作者:Mick)第一章--第七章
該書非常適合初學(xué)者,通過實例的形式由淺入深的講解了SQL常用語法
學(xué)習(xí)節(jié)奏:每天一個章節(jié),第二天復(fù)習(xí)一遍第一章節(jié)的內(nèi)容后再進行新章節(jié)的學(xué)習(xí)(以理解為主,切記死記硬背SQL語法)
第二周:練習(xí)
習(xí)題來源:SELECT basics - SQLZO,結(jié)合SQL常用語法,對部分習(xí)題進行解析,相信我,這習(xí)題反復(fù)地做,你就是從入門到進階的水平。
如果你想再上一步,那就找個工作試試吧,先從簡單的做起。
對于數(shù)據(jù)庫的知識點,如果有的時候不夠理解,可以去網(wǎng)上找一些教程性的網(wǎng)站看一看,應(yīng)該比單純看書會有趣一點。不枯燥的學(xué)習(xí)才能讓人有持續(xù)性的動力。
可以從SQL數(shù)據(jù)庫的原理先看一看,然后試著自己實現(xiàn)一個。
沒錯,自己實現(xiàn)一個。然后你體會到一個數(shù)據(jù)庫需要解決存儲,查詢,事務(wù),鎖,錯誤恢復(fù)等等數(shù)據(jù)庫需要解決的問題,從而不但與前人的經(jīng)驗靠攏。提高自己的知識。
學(xué)SQL還是要多讀多寫
讀,是指要有一套學(xué)習(xí)輔導(dǎo)書籍或視頻教程,我覺得至少要先知道SQL 是做什么的,能夠解決什么問題,才是該如何學(xué)好。
網(wǎng)上的輔導(dǎo)書籍和視頻教程很多,這里推薦我看過的一些比較好的書籍和視頻教程
書籍類:
《SQL基礎(chǔ)教程》
《SQL必知必會》
這兩本應(yīng)該是寫的比較通俗易懂的書籍了,此外一些數(shù)據(jù)庫的安裝,操作可以網(wǎng)上搜索一下相關(guān)的圖文教程,基本上只要你的關(guān)鍵字正確,都可以找到你想要的內(nèi)容。
視頻類
視頻類的教程一般網(wǎng)上也有,但是質(zhì)量參差不齊,有興趣的可以關(guān)注我們的公眾號(SQL數(shù)據(jù)庫開發(fā))獲取我收藏的一些較好的視頻教程。
說完讀,下面就是寫了
上面這些資料都是為我們寫SQL語句作的準(zhǔn)備,但是真正要學(xué)會SQL 還是要多動手動腦。
SQL 終歸還是一門語言,有它固定的語法,這些語法就需要我們?nèi)ビ涀 H绾斡涀∧兀磕蔷褪遣煌5木毩?xí)寫SQL 代碼,并且用SQL 代碼解決一些問題,比如每學(xué)完一個知識點就去做一道題,這樣效果會很好。
此外,凡事都有個過程,學(xué)習(xí)也不例外,學(xué)SQL 如果只是學(xué)個皮毛,一周時間就夠了。但是真正去解決問題你就會發(fā)現(xiàn)無從下手,所以還是要多月多練,并且要養(yǎng)成做筆記的習(xí)慣,不會的內(nèi)容一定要弄懂才進行下一步。
不管是學(xué)SQL ,還是學(xué)其他東西,我相信方法都類似,只是看你是否堅持下去了。
找一套視頻學(xué)習(xí)一下,
推薦【01-數(shù)據(jù)庫基礎(chǔ) - 今日頭條】https://m.toutiao.com/is/eVVhdan/
這套視頻,點擊進去應(yīng)該可以看到合集
最基本的數(shù)據(jù)操作,復(fù)雜查詢,存儲過程,觸發(fā)器,視圖,事務(wù)等等都有
0
回答2
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答