我將在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. Jquery首先加載什麼
- 4. 什麼首先執行?
- 5. 首先要學習什麼創建聊天室?
- 6. 學習Ruby,但首先找出它是什麼?
- 7. 我應該先學什麼?
- 8. 爲什麼windbg命令首先。要麼 !
- 9. SQL Server SELECT首先
- 10. WP8,SQL Compact Edition或Sqlite使用什麼?
- 11. SQLite或首選項
- 12. 哪種語言首先首先引入「in」關鍵字:SQL或Object Pascal?
- 13. 什麼首先執行:ToggleButton.IsChecked綁定更新或命令綁定?
- 14. 什麼是首先處理的:aspx或aspx.vb代碼?
- 15. 首先發生什麼,CSS或JS事件?
- 16. 什麼應該首先在HTML,錨點或標題?
- 17. IIS管道:首先發生什麼:URL重寫或綁定?
- 18. IIS管道:首先發生什麼:URL Rewrite或HttpHandler?
- 19. 應該首先驗證什麼 - hostReachability或netReachability?
- 20. 什麼應該首先 - 設計模式或代碼?
- 21. 什麼首先發生,鑄造或移位[C++]
- 22. 首先做什麼:特徵選擇或模型參數設置?
- 23. MySQL首先執行什麼操作:SELECT或HAVING?
- 24. 爲什麼它首先調用bool_function?
- 25. 什麼時候android首先做佈局?
- 26. 爲什麼首先需要GUID屬性?
- 27. php header首先發生什麼事?
- 28. WPF/Silverlight首先開始學習?
- 29. sqlite EF6代碼首先不創建表
- 30. LINQ to SQL:首先調用
這個問題沒有道理。 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