-
1 # coding老王
-
2 # IT技術管理那些事兒
這裡就推薦一些我學習資料庫時候用到的。
想學sql,先學資料庫,知識理論真的很重要,別跟我說什麼上手操作,不夠紮實,我以前寫sql也很厲害,就是靠這個方法。
第一,參考書方面,建議《資料庫原理》,裡面有些解釋講的比較細,可以比較直觀的看懂資料庫的操作邏輯。第二,不論是在學之前還是在學習過程中,建議時常過一遍資料庫的知識點,這可以幫助我們不斷整合學習到的知識。第一週:方法論的學習
該書非常適合初學者,透過例項的形式由淺入深的講解了SQL常用語法
學習節奏:每天一個章節,第二天覆習一遍第一章節的內容後再進行新章節的學習(以理解為主,切記死記硬背SQL語法)
第二週:練習
如果你想再上一步,那就找個工作試試吧,先從簡單的做起。
對於資料庫的知識點,如果有的時候不夠理解,可以去網上找一些教程性的網站看一看,應該比單純看書會有趣一點。不枯燥的學習才能讓人有持續性的動力。
-
3 # SQL資料庫開發
學SQL還是要多讀多寫
讀,是指要有一套學習輔導書籍或影片教程,我覺得至少要先知道SQL 是做什麼的,能夠解決什麼問題,才是該如何學好。
網上的輔導書籍和影片教程很多,這裡推薦我看過的一些比較好的書籍和影片教程
書籍類:
《SQL基礎教程》
《SQL必知必會》
這兩本應該是寫的比較通俗易懂的書籍了,此外一些資料庫的安裝,操作可以網上搜索一下相關的圖文教程,基本上只要你的關鍵字正確,都可以找到你想要的內容。
影片類
說完讀,下面就是寫了
上面這些資料都是為我們寫SQL語句作的準備,但是真正要學會SQL 還是要多動手動腦。
SQL 終歸還是一門語言,有它固定的語法,這些語法就需要我們去記住。如何記住呢?那就是不停的練習寫SQL 程式碼,並且用SQL 程式碼解決一些問題,比如每學完一個知識點就去做一道題,這樣效果會很好。
此外,凡事都有個過程,學習也不例外,學SQL 如果只是學個皮毛,一週時間就夠了。但是真正去解決問題你就會發現無從下手,所以還是要多月多練,並且要養成做筆記的習慣,不會的內容一定要弄懂才進行下一步。
不管是學SQL ,還是學其他東西,我相信方法都類似,只是看你是否堅持下去了。
-
4 # 靈眼旁觀
自學SQL資料庫,說難也不難,主要做好以下幾點:
首先,您要選擇合適的資料庫環境目前流行的資料庫環境,主要包括MySQL、Oracle、SQLServer、PostgreSQL、SQLite等。這幾個都屬於經典的傳統關係型資料庫,對ANSI-SQL的支援都不錯。個人建議最好選擇開源資料庫系統。
Oracle、SQLServer都屬於商業資料庫,死貴死貴的,MySQL自從被Oracle收購後,其前景堪憂,很可能跟Java的下場一樣,SQLite太小型,對上SQL的支援很有限。本人建議最好選擇PostgreSQL。
我不是亂說的,PostgreSQL號稱“全世界最強大的開源資料庫”,這名號絕對不是蓋的,真材實料。雖然國內MySQL的流行程式要高於PostgreSQL,但要看未來。美國的尿性我們都知道,連Android都要搞事情,MySQL以後我們能不能用都是問題。
最重要的,PostgreSQL不但功能強大不弱於大型商業資料庫、而且完全開源不需要任何商業授權,她屬於全世界,而不是美帝,大膽的學、大膽的用,沒有任何後顧之憂。要學就學最有前途的。
其次,您要擁有或構建一個完整的應用場景俗話說,學以致用,如果您的學習沒有任何場景,那就是無的放矢,學起來不但累而且沒有成就感。乾巴巴的語法雖然看上去很簡單,但您不清楚學來幹什麼,還會有深入學習的興趣麼?就算您硬著頭皮死啃,沒有成就感您能堅持多久?
所以,您必須有一個完整的應用場景,您學習的目的,就是圍繞這個應用場景展開。當然,應用場景不是天生就有的,如果您為了工作,可能場景已經被事先設定好了;如果您只是為了學習,就需要建立一個應用場景。當然不能隨便建立場景,您要以自己很熟悉的領域作為應用場景。比如學校的學籍管理、公司的人事管理等等。
有了應用場景,您就可以圍繞應用場景展開資料庫設計、表結構設計、關聯設計、儲存過程設計等等。各種應用能夠實現可以衡量的結果,您學起來就來了興趣。完成應用場景需求的過程中,各種SQL語法您很自然就用到和掌握了。
如果您是程式開發人員,最好與您的開發環境融合起來,透過程式設計實現程式前端、資料庫作為後臺,各種應用效果就更直觀,學起來興趣就越來越濃。說不準學習的過程還能做出來一個不錯的系統,何嘗不是意外的收穫啊。
最後,您要有長久學習提升的思想準備並持續展開SQL和資料庫有很多實用技巧,您學的越多、學的越久,就會有越多的問題和困惑。有些問題解決起來得心應手、而有些問題卻總讓您頭疼。頭疼不是您水平低,很可能是因為您平時沒有話費足夠的時間研究SQL和資料庫。
自學往往沒有足夠的時間系統學習,這沒辦法,但您可以做好筆記,把各種處理的經典方案SQL指令碼留存起來,以後使用的時候,可以隨時查閱。但如果您任何處理都要不停的查詢解決方案,那您的學習就太失敗了。
我們總會碰到各種奇葩需求,之所以奇葩,主要是我們沒處理該類需求的經驗、或者我們的知識存在各種斷層,要讓自己有足夠的底氣,您只有考多積累,日積月累多思考多試驗,崩總想著自己是高手能搞定一切,該查資料就查,查了之後做好筆記記錄,爭取下次就會處理了,時間長了,無形中您就成了高手了。
-
5 # 路人甲
首先,你要明白,SQL 是用於訪問和處理資料庫的標準的計算機語言。而資料庫的種類非常多。大型資料庫有:Oracle、Sybase、DB2、SQL server;小型資料庫有:Access、MySQL等。但SQL應用上實際上差別不大,知識資料庫功能不同,畢竟語言都是相通的。本回答以多用的MySQL為主。
下載MySQL(https://www.mysql.com/cn/downloads/)
MySQL就是一個關係型資料庫管理系統,在 WEB 應用方面MySQL是最好的 關係資料庫管理系統 應用軟體之一。
下載Workbench(https://dev.mysql.com/downloads/workbench/)
這個工具主要是為我們提供了圖形化管理介面,為我們簡化了操作。
當然如果你喜歡在這種非圖形介面下操作的話,可以選擇不安裝,畢竟每人習慣不一樣。
教程(一)入門
首先,先得學習SQL的基礎語句操作,這些語句用於存取資料以及查詢、更新和管理關係資料庫系統,瞭解MySQL可以做什麼。
第一步:(https://www.shiyanlou.com/courses/9)
這個課程主要是在結合學習語法的同時帶領大家進行基本操作的實驗。
第二步:(https://www.w3cschool.cn/sql/8zragfoj.html)
閱讀並熟悉操作的SQL的基礎語句和運算子,因為上面的課程並沒有過一遍SQL操作的基礎語法,但不用都背下來,用多了自然就記住了,需要用的時候查一查。這時候就要自己熟悉這些語句的功能,並根據教程語句一步步操作。
並且這些基礎很重要,一定要多練習,通常面試的時候也都會涉及到SQL的基礎語法。
(二)進階
瞭解MySQL效能除錯和最佳化方案;
瞭解MySQL基本架構和效能最佳化的基本原理;
第三步:閱讀一本書,如果想要基礎真的紮實,建議還是買一本實體書。SQL方面的書很多,有的其實很不錯,但它們都有一個共同的特點,就是講授的內容太多了,多數人其實不需要了解那麼多。所以這裡推薦的是《SQL必知必會》,一本就夠了。
教程就不推薦太多了,不然大家做的也累。這幾步下來,MySQL會用了就行。接下來就靠大家自己在工作中的應用和實戰中積累經驗,知道遇到問題時搜尋什麼關鍵詞。
-
6 # IT大資料科技
首先SQL(Structured Query Language)指的是結構化查詢語言的簡稱,它是一種關於資料的程式語言,也是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關係資料庫系統。
現在主流的資料庫有關係資料庫(Relational Database),如Oracle、MySQL、SQLServer等。
如果資料庫是Oracle的話,那就先學習簡單的增刪改查,
就是select語句、update語句、insert語句、delete語句還有其他from語句、where語句、group by語句 order by語句等
如果這些學會了,那你基本就可以上手了,剩下的其他語句還有很多,比如exists語句 with語句,over() partition語句,
你還可以學習索引 分割槽這型別的最佳化知識。
還有很多分析語句如
row_num() over(partition by ... order by ...)
rank() over(partition by ... order by ...)
dense_rank() over(partition by ... order by ...)
count() over(partition by ... order by ...)
max() over(partition by ... order by ...)
min() over(partition by ... order by ...)
sum() over(partition by ... order by ...)
avg() over(partition by ... order by ...)
first_value over(partition by ... order by ...)
last_value over(partition by ... order by ...)
lag() over(partition by ... order by ...)
lead() over(partition by ... order by ...)
這些語句可以讓你進階
你還可以學習PL/SQL中儲存過程、函式,序列、觸發器等,如果你還想更深層的學,你可以DBA這些知識
比如許可權問題,建立表空間問題,建立使用者、殺死session等,備份資料庫等。
-
7 # 資深IT老張
學生時代,入門資料庫,學習成本最底的就是 SQL server軟體,微軟出品。
你可以百度下截一個SQL server express 2005版本的,它是免費的。
然後上W3School ,學習基本SQL語法,建庫,建表,增加,修改,刪除,查詢。後邊是增加欄位,索引,檢視,自定義函式,儲存過程,瞭解 資料庫備份及還原,加密,解密 (TDE加解密是SQL server2008才出來的) 等。邊學邊動手,才有印象。
然後上 CSDN, 部落格園,這兩個程式設計師非常集中的地方,找到資料庫頻道,看看別人問的那些資料庫方面的問題,你自己是否能夠解決。
邊學習邊操練,理論經驗有了,動手能力上去了,你在資料庫方面就慢慢能獨立處理問題了。
SQL server學會了,學習其它資料庫成本就大大降低了。
回覆列表
可以從SQL資料庫的原理先看一看,然後試著自己實現一個。
沒錯,自己實現一個。然後你體會到一個數據庫需要解決儲存,查詢,事務,鎖,錯誤恢復等等資料庫需要解決的問題,從而不但與前人的經驗靠攏。提高自己的知識。