我將在C++中使用SQLite,所以我決定先學習它。但仍然是我的問題是,SQL命令是非常像SQLite還是我應該在SQLite之前學習它?首先學什麼,SQLite或SQL?
4
A
回答
8
我建議在SQLite的SQL版本之前學習標準SQL。 SQLite允許很多數據庫不允許的東西(比如自動類型轉換和不完整的GROUP BY子句)。此外,SQLite中的所有內容都以字符串形式存儲,但其他版本的SQL並非如此。
大部分SQL使用情況在SQLite和標準SQL中都是相同的,但值得了解陷阱。 SQLite讓你擺脫標準SQL所沒有的各種東西。如果你從SQLite開始,那麼當你移動到另一個數據庫時會遇到很多麻煩。但是,如果您從更標準的SQL實現(比如PostgreSQL或SQL Server)開始,那麼下載到SQLite將會非常簡單。
您可能要研究一些SQLite的文檔/前/後同時學習標準SQL讓你知道的區別:
- SQL As Understood By SQLite
- SQL Features That SQLite Does Not Implement
- Distinctive Features Of SQLite
而且,因爲您將要使用C++中的SQLite:
我不是在這裏批評的SQLite。 SQLite是一個非常棒的嵌入式數據庫,並且非常適合它的用途。問題在於,從鬆散的環境(如SQLite甚至MySQL)到更嚴格的環境(PostgreSQL,SQL Server,Oracle,...)都會變得困難和令人沮喪。從標準(或「正確」)方式開始可能會節省一些痛苦和痛苦。
1
你應該一起學習,因爲學習SQL你需要一個SQL引擎,SQLite就是這樣。
請注意,SQLite並沒有實現所有的SQL語言,但由於庫的簡單性,它是一個開始學習它的好地方。一旦您熟悉SQL的基礎知識(數據定義語言和插入/更新/選擇語句),您就可以開始轉向高級概念(事務,觸發器等),並可以繼續進行完整的關係數據庫管理支持整個SQL語言的系統。
相關問題
- 1. 首先學習Silverlight或WPF?
- 2. 首先會發生什麼,MovieClip.onLoad()或Event.ENTER_FRAME?
- 3. 什麼首先執行?
- 4. 學習Ruby,但首先找出它是什麼?
- 5. 首先要學習什麼創建聊天室?
- 6. 哪種語言首先首先引入「in」關鍵字:SQL或Object Pascal?
- 7. 什麼是首先處理的:aspx或aspx.vb代碼?
- 8. IIS管道:首先發生什麼:URL Rewrite或HttpHandler?
- 9. MySQL首先執行什麼操作:SELECT或HAVING?
- 10. 什麼應該首先在HTML,錨點或標題?
- 11. 什麼應該首先 - 設計模式或代碼?
- 12. 爲什麼首先需要GUID屬性?
- 13. php header首先發生什麼事?
- 14. 什麼時候android首先做佈局?
- 15. 通過學習PHP或JavaScript首先拋硬幣
- 16. WPF/Silverlight首先開始學習?
- 17. LINQ to SQL:首先調用
- 18. 首先設計或原型?
- 19. Install.ps1或Web.config.transform - 首先發生?
- 20. 爲什麼NSCell不贊成使用,爲什麼首先推出?
- 21. 學習機器學習的先決條件是什麼?
- 22. 過濾或加入是否在T-SQL中首先發生?
- 23. 什麼是首選,使用setter或builder?
- 24. SQL SELECT一定的價值首先
- 25. SQL Server首先獲得排名?
- 26. EF代碼首先到SQL Server的Mysql
- 27. 拉首先從SQL組匹配的行
- 28. Rails首先或最後加載JS?
- 29. MYSQL選擇記錄大於或首先
- 30. Catch NullReferenceException或首先測試Nothing?
這個問題沒有道理。 SQLite **是一個SQL數據庫。 – 2011-06-04 04:29:18
一旦掌握了SQLite,應該很容易發現與其他SQL DBMS的區別,相反也應該是真實的。許多SQL命令應該在SQLite和成熟的基於服務器的SQL解決方案上以相同的方式運行。 @Matt Ball,對你來說可能沒有意義,因爲你知道兩者,但顯然不是OP的情況。 – zneak 2011-06-04 04:29:34
@Matt球。 OP可能認爲「SQL」與「SQL Server」是同義的。其實並非如此。但我懷疑這就是OP的意思。 – Asaph 2011-06-04 04:32:01