這個問題題主的題目和描述有點不太一致…題主的問題是SQL的學習,而題主的描述是數據庫方面的書籍。需要指出的是,SQL只是數據庫中的一種語言,而數據庫本身的知識點非常龐大,遠不是SQL本身而已。所以我想應該從這兩個方面分別回答一下。
對于SQL,這本身就是一門數據庫執行語言而已。實際上,對于語言的學習最科學的就是看其說明文檔。所有講解數據庫的書籍本身也會涵蓋SQL語言的講解,只不過講解的內容可能不是很全面,也可能不是很系統。如果要找一個入門級的,neargo推薦的《SQL必知必會》是一個非常棒的書籍。如果想進一步學習的話,SQL官方幫助文檔是必不可少的閱讀內容。
正如前面所說的,SQL本身只是一門語言,如果題主想進一步學習數據庫注入,那么光懂SQL本身還是不夠的,需要對數據庫有系統的學習。這里我不打算推薦書籍,而是推薦Coursera中,Stanford大學的一門公開課:《IntroductiontoDatabase》(Coursera.org)。這門課系統講解了數據庫的全部內容,可以說對數據庫的入門有著非常大的幫助。另外,課程中推薦的書籍都是著名的數據庫書籍,如:
AFirstCourseinDatabaseSystems(3rdedition)byUllmanandWidom
(samematerialandsectionsasDatabaseSystems:TheCompleteBook(2ndedition)byGarcia-Molina,Ullman,andWidom)
DatabaseManagementSystems(3rdedition)byRamakrishnanandGehrke
FundamentalsofDatabaseSystems(6thedition)byElmasriandNavathe
DatabaseSystemConcepts(6thedition)bySilberschatz,Korth,andSudarshan
這門課以前是在Stanford的Class2Go上面的,因此當時還有Accomplishment,現在已經沒有了…在此我也可以展示一下這個Accomplishment,還是很有成就感的~
?
總之,數據庫的系統學習是一件比較艱辛的工作。在學習數據庫的知識后,也可以進一步閱讀開源數據庫的代碼,如redis,MySQL等等,會進一步加深數據庫的理解以及其有可能出現的漏洞。希望題主能夠成功~