作爲一個個人項目,我一直在用C#開發自己的數據庫軟件。許多當前的數據庫系統可以使用SQL命令進行查詢。在這裏有沒有人能指出我在一個完全從頭開始編寫的數據庫軟件中實現這樣一個系統的正確方向?例如,熟悉SQL的用戶可以將語句作爲字符串輸入到應用程序中,該語句將由我的應用程序進行分析,並且將運行正確的查詢。有沒有人有過類似這樣的經歷?這可能是一個非常不尋常的問題哈哈。基本上我在問什麼,有沒有可以分析SQL語句的工具,還是我必須從頭開始編寫自己的工具?C#自定義數據庫引擎,如何實現SQL
在此先感謝您的幫助!
(我可以轉移我的一些東西Python和Java,因此任何可能的答案不必限於C#)
ALSO:我沒有使用任何現有的SQL數據庫之類的東西,我的系統是完全從頭開始,我希望我的問題有道理。基本上我希望我的應用程序能夠與發送SQL命令的程序進行交互。
http://stackoverflow.com/questions/660609/sql-parser-library-for-java http://stackoverflow.com/questions/1147212/sql-parser-in-c – Kev
它需要閱讀SQL命令,以其自己的方式查找數據,並以任何其他SQL應用程序的方式將其返回。目前我還在學習SQL,所以我還不完全熟悉。我想從我的應用程序創建一組允許輸入SQL語句的函數,它將理解輸入的SQL語句,然後它將運行可以獲取輸出的正確代碼,然後以堅持的方式構造輸出到SQL。我需要更多理解的部分是「理解」SQL語句部分。這有任何意義嗎? – MReed
那裏有解析器生成器,[如Antlr](http://www.antlr.org/)。這些工具需要語法並生成詞法分析器和解析器代碼。然後,您可以向該代碼提供文本以獲取可用於驅動數據庫的內存中對象。 –