{eval=Array;=+count(Array);}
如何快速有效掌握數據庫語言SQL?
數據庫有很多種,常見的數據庫都是關系型數據庫,如MySQL、Oracle、SQL Server等,當然,還有非關系型數據庫,如MongoDB、Hbase等。
對于初學者,建議從MySQL開始,因為MySQL是目前使用最廣泛的關系型數據庫,學習起來相對容易,下面給出一些學習建議。
首先需要安裝MySQL,Windows下推薦使用MySQL Installer這個工具來安裝MySQL。
下載地址:
https://dev.mysql.com/downloads/windows/installer/
通過Installer安裝3個東西:
MySQL Server(MySQL服務器,必需)
MySQL Notifier(監視器:用于啟動、重啟MySQL Server,非必需)
MySQL Workbench(寫SQL語句的工具,非必需)
如果你是一個PHP愛好者,可能安裝過一些集成工具如xampp,phpadmin等,這些工具自帶MySQL Server,也是可以的。
MySQL Server安裝好后,默認是自動啟動的。
如果需要重啟MySQL服務,有兩種方式:
1、通過MySQL Notifier來啟動或者重啟MySQL Server(注意,不是MySQL Workbench)。
2、通過“我的電腦”-“管理”-“服務和應用程序”-“服務”進行啟動或者重啟。
MySQL Server啟動后,需要連接MySQL,推薦使用MySQL Workbench,當然用cmd命令行也可以。
數據庫是用來存放數據表的地方,相當于電腦上的文件夾(database),里面可以放多個Excel表格(table)。
數據表是用來存放數據的地方,相當于電腦上的Excel表格(其實不準確),一張張二維的表格,里面可以存放數據。
常用的數據類型有三種:字符型、數值型和日期時間型。
SQL語句的核心在于查詢,需要掌握的查詢操作如下圖所。
以下是關于SQL的一些其他操作,對于數據分析師來說,不太常用,有興趣可以了解一下。
索引類似于拿漢語字典的目錄頁(索引),我們可以按拼音、筆畫、偏旁部首等排序的目錄(索引)快速查找到需要的字。
MySQL本身提供了很多內置函數,但有時候需要實現我們自己的一些功能,就需要自定義函數。
自定義函數的函數體由多條可用的MySQL語句,流程控制,變量聲明等語句構成。
存儲例程是存儲在數據庫服務器中的一組sql語句,通過在查詢中調用一個指定的名稱來執行這些sql語句命令。
存儲過程一般是作為獨立部分來執行,而函數可以作為查詢語句的一個部分來調用。
事務是一組SQL語句,用來維護數據庫的完整性,保證成批的sql操作要么完全執行,要么完全不執行。
例如,銀行賬戶轉賬業務,例如客戶A轉賬100元給客戶B,這里涉及兩個操作:
客戶A減去100元
客戶B增加100元
必須同時成功或者同時失敗。
游標(cursor),一個存儲在MySQL服務器上的數據庫查詢,被select語句檢索出來的結果集,在存儲了游標之后,可以根據需要滾動或瀏覽其中的數據,多用于存儲過程。
歡迎關注【數據科學吧】,分享數據科學相關的知識!
學習mysql分成理論和實踐兩方面
(1)理論:可以看《高性能mysql》、《mysql技術內幕》,另外可以搜下楊一DBA的博客(http://blog.itpub.net/22664653/),該博主的mysql文章質量很高,而且他是有贊的首席DBA,有豐富的實戰經驗
(2)對于開發來說,就要去找相應的項目去實踐,這時候需要注意甄別問題,要盡量去大公司或者深度使用mysql的公司,在實踐中解決復雜的問題,例如:索引優化ia、大表優化、數據變更等
總之,理論和實踐相結合,不可偏廢
首先先分清MySQL與sql的區別。
MySQL與oracle,Microsoft access等一樣,是關系型數據庫,是一個用于存儲的工具。而sql與java,Python一樣,是一種數據庫查詢語言。通常關系型數據庫都是支持用sql語言進行增刪改查操作的。
那么我認為,題主是想了解,如何學寫SQL語句。
我之前曾經回答過如何學習java的問題。既然同樣作為語言,SQL語言的學習思路其實也是大同小異。
書籍
首先是通過書籍來獲得基礎知識。數據庫作為計算機專業本科生的必修科目,其教材自然是值得推薦的。這本《高級數據庫系統及其應用》,由清華大學出版,書中除了包括SQL語句的教學,也講解了支持SQL語句的數據庫系統,實在是一本很實用的工具書。
最近出版的還有些內容更平易近人的書,比如《SQL即查即用》,在某電商網站的互聯網書籍排行第九。
視頻資料
除了書籍,嘗試通過視頻學習也是很好的輔助與補充,能夠有效緩解學習過程的倦怠感。推薦到網易云課堂,慕課網上搜關鍵字“SQL語言”,可根據播放量來自行選擇。
網站
這也是一個新的語言學習方式,通過閱讀網站上的demo,在網站提供的環境中實際操作,能夠幫助你更快的上手SQL語言實戰。推薦的菜鳥教程
http://www.runoob.com/sql/sql-tutorial.html
,以及W3Cschool
http://www.w3school.com.cn/sql/index.asp
, 這里不僅有對SQL語句的講解,同時還有些小quiz,可以讓你方便的測試自己的學習成果。
以上是我對學習sql語言的推薦,歡迎在下方評論區給我留言交流。
我是蘇蘇思量,來自BAT的Java開發工程師,每天分享科技類見聞,歡迎關注我,與我共同進步。
作為一個用了三年mysql數據庫的小碼農來回答你
首先啊糾正一下,數據庫的話叫mysql完全ok,如果說數據庫語言的話,只能叫sql,mysql,oracle,sqlselver等等都是遵循sql規則,凡是欲速則不達,如果在開發方面你想要求速,那么后期你的bug維護起來花費的時間夠你受的,所以前期如果不懂數據庫的話,建議你還是穩扎穩打。如果非要著急想用的話,我只能這么給你建議了。
找一套數據庫全套教程,粗略的先嘍一遍,了解這東西能解決什么問題,什么情況下會用到,又怎么進行優化,帶著這些疑問大概嘍一遍之后,學數據庫管理工具的使用,絕對是上手最快的,沒有之一了,你是幸運的,我從下周開始準備更新mysql數據庫和數據庫管理工具的使用,一些基本的增刪改查,左外連接,排序,分組查詢,主外鍵,索引等等都會講解,希望對大家有幫助,加油。
大家還有什么好的方法歡迎留言,恭候您的寶貴建議。
學SQL還是要多讀多寫
讀,是指要有一套學習輔導書籍或視頻教程,我覺得至少要先知道SQL 是做什么的,能夠解決什么問題,才是該如何學好。
網上的輔導書籍和視頻教程很多,這里推薦我看過的一些比較好的書籍和視頻教程
書籍類:
《SQL基礎教程》
《SQL必知必會》
這兩本應該是寫的比較通俗易懂的書籍了,此外一些數據庫的安裝,操作可以網上搜索一下相關的圖文教程,基本上只要你的關鍵字正確,都可以找到你想要的內容。
視頻類
視頻類的教程一般網上也有,但是質量參差不齊,有興趣的可以關注我們的公眾號(SQL數據庫開發)獲取我收藏的一些較好的視頻教程。
說完讀,下面就是寫了
上面這些資料都是為我們寫SQL語句作的準備,但是真正要學會SQL 還是要多動手動腦。
SQL 終歸還是一門語言,有它固定的語法,這些語法就需要我們去記住。如何記住呢?那就是不停的練習寫SQL 代碼,并且用SQL 代碼解決一些問題,比如每學完一個知識點就去做一道題,這樣效果會很好。
此外,凡事都有個過程,學習也不例外,學SQL 如果只是學個皮毛,一周時間就夠了。但是真正去解決問題你就會發現無從下手,所以還是要多月多練,并且要養成做筆記的習慣,不會的內容一定要弄懂才進行下一步。
不管是學SQL ,還是學其他東西,我相信方法都類似,只是看你是否堅持下去了。
首先MySql并非數據庫語言,數據庫語言是SQL
而一般現在基本都是遵循SQL92標準。
學習任何一門語言最簡單的辦法就是動手。
如果你想深入學習的話你可以不用圖形界面,直接用mysqlclient鏈接進去操作。
先從創建表,修改表,刪除表開始練習。
然后開始普通的select、insert、update、delete開始練習,切記著語法,
然后等你熟悉后就開始inner join、left join等的連表操作。
當以上的你都熟悉后,你可以去一些在線題庫刷刷題,一般都會有測試數據給你,再給出個問題給你,最后你通過寫sql語句來完成題目要求。
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答5
回答