作为一个个人项目,我一直在用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/)。这些工具需要语法并生成词法分析器和解析器代码。然后,您可以向该代码提供文本以获取可用于驱动数据库的内存中对象。 –