Select A, B, C From X Where A = '1' AND B <> 2 Insert Into X Set A = '1', B = 2, C = 'C' Update X Set A = '2' Where A = '1' Delete From X Where A = '1' Create Table X (A String(50) Index, B Int, C String(5)) Drop Table X StatementList = StatementList, Statement | Statement ; Statement = SelectStmt | InsertStmt | UpdateStmt | DeleteStmt | CreateStmt | DropStmt ';' ; SelectStmt = 'Select', FieldList, 'From', Identifier, ['Where', ComparisonGroup] ; InsertStmt = 'Insert Into', Identifier, 'Set', AssignmentList ; UpdateStmt = 'Update', Identifier, 'Set', AssignmentList, 'Where', ComparisonGroup ; DeleteStmt = 'Delete From', Identifier, 'Where', ComparisonGroup ; CreateStmt = 'Create Table', Identifier, '(', ColumnSpecList, ')' ; DropStmt = 'Drop Table', Identifier ; ColumnSpecList = ColumnSpec | ColumnSpecList, ',', ColumnSpec ; ColumnSpec = Identifier, ColumnType | Identifier, ColumnType, ColumnOption ; ColumnType = 'String', '(', integer, ')' | 'Int' | 'Integer' ; ColumnOption = 'Index' ; FieldList = Identifier | FieldList, ',', Identifier ; AssignmentList = Assignment | AssignmentList, ',', Assignment ; Assignment = Identifier, '=', Value ; ComparisonGroup = Comparison | ComparisonList, 'AND', Comparison Comparison = Identifier, Comparator, Value; Comparator = '=' | '<>'; Identifier = { letter, '_' } , { letter | digit | '_' } ; Value = "'", string, "'" | '"', string, '"' | integer ;