Digit

['0'..'9']

Letter

['a'..'Z']

WS

' ''\t''\f''\n''\r'{ action code }

ML

'/*'any char'*/'{ action code }

SL

'//'not'\n''\r''\n''\r''\n'{ action code }

SELECT

'select'

DELETE

'delete'

UPDATE

'update'

SET

'set'

WHERE

'where'

AND

'and'

OR

'or'

NOT

'not'

FALSE

'false'

TRUE

'true'

EQUALS

'='

MATCHES

'matches'

ALL

'*'

BUT

'but'

DROP

'drop'

ADD

'add'

CONCAT

'||'

SUB_STRING

'sub_string'

LOWER_CASE

'lower_case'

UPPER_CASE

'upper_case'

REPLACE

'replace'

RANDOM_STRING

'random_string'

RANDOM_LIST

'random_list'

ROW_NUMBER

'row_num'

AS

'as'

WITH

'with'

TEXT

'TEXT'

TEXTNUM

'TEXTNUM'

NUM

'NUM'

STRING

'"'not'"''\n''\r''"'

ID

LetterLetterDigit'_'

INT

DigitDigit

statement

select_statementupdate_statementdelete_statement

select_statement

SELECTcolumn_listWHEREbool_expression

update_statement

UPDATESETupdate_value_listWHEREbool_expression

delete_statement

DELETEWHEREbool_expression

column_list

column_spec','column_specALL

column_spec

string_expressionASID

update_value_list

update_value_element','update_value_element

update_value_element

ID'='string_expression

string_expression

concated_expressionconcated_expression

concated_expression

IDSTRINGbuilt_in_func

built_in_func

SUB_STRING'('string_expression','INT','INT')'LOWER_CASE'('string_expression')'UPPER_CASE'('string_expression')'ROW_NUMBERREPLACE'('string_expression','string_expression','string_expression')'RANDOM_STRING'('INT','INT','STRINGTEXTTEXTNUMNUM')'RANDOM_LIST'('string_expression','string_expression')'

bool_expression

bool_andORbool_and

bool_and

bool_atomANDbool_atom

bool_atom

'('bool_expression')'string_expressionEQUALSMATCHESstring_expressionTRUEFALSE