简易SQL语句文法

来源:互联网 发布:淘宝网中老年棉皮鞋 编辑:程序博客网 时间:2024/05/21 17:36

最近在用C++写一个简单的SQL语句解释器,下面是用到的文法,可以实现简单的增删改查。

select        --> SELECT [attributes] FROM [table_name]  [where-clause]update        --> UPDATE [table_name] SET [assignment] ( , [assignment])* WHERE [where_clause]insert        --> INSERT INTO [table_name]  [names_values]delete        --> DELETE FROM [table_name]  [where-clause]create        --> CREATE TABLE [table_name] ( column_def ( ',' column_def )* )drop          --> DROP TABLE [table_name]attributes    --> [select_clause] | *table_name    --> [identifier]assignment    --> [column_name] = [term]names_values  --> ( [column_name] ( , [column_name] )* )  VALUES ( term ( , term )* ) where-clause  --> [relation] ( [logical]  [relation] )*select_clause --> [column_name] ( , [column_name] )*relation      --> [column_name]  [operator]  [term]column_def    --> [column_name]  [cql_type]  (PRIMARY KEY)?column_name   --> [identifier]cql_type      --> INT | FLOAT | CHAR logical       --> AND | OR | NOToperator      --> = | < | <= | > | >= | <> | !=term          --> [integer] | [float] | [boolean] | [string]integer       --> -?digit+float         --> [integer]  (.digit+)?boolean       --> TRUE | FALSEstring        --> '.'identifier    --> [alpha]  ([alpha] | [digit] )*alpha         --> [a-z] [A-Z]digit         --> [0-9]
原创粉丝点击