[ index_type ] ( key_part ,...) [ index_option ] ... | ADD [CONSTRAINT [ symbol ]] UNIQUE [INDEX | KEY] [ index_name ] [ index_type ] ( key_part ,...) [ index_option ] ... | ADD [CONSTRAINT [ symbol ]] FOREIGN KEY [ index_name ] ( col_name ,...) reference_definition | ADD [CONSTRAINT [ symbol ]] CHECK ( expr ) [[NOT] ENFORCED] | DROP {CHECK | CONSTRAINT} symbol | ALTER {CHECK | CONSTRAINT} symbol  [NOT] ENFORCED | ALGORITHM [=] {DEFAULT | INSTANT | INPLACE | COPY} | ALTER [COLUMN] col_name  { SET DEFAULT { literal  | ( expr )} | SET {VISIBLE | INVISIBLE} | DROP DEFAULT } | ALTER INDEX index_name  {VISIBLE | INVISIBLE} | CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST | AFTER col_name ] | [DEFAULT] CHARACTER SET [=] charset_name  [COLLATE [=] collation_name ] | CONVERT TO CHARACTER SET charset_name  [COLLATE collation_name ] | {DISABLE | ENABLE} KEYS | {DISCARD | IMPORT} TABLESPACE | DROP [COLUMN] col_name | DROP {INDEX | KEY} index_name | DROP PRIMARY KEY | DROP FOREIGN KEY fk_symbol | FORCE | LOCK [=] {DEFAULT | NONE | SHARED | EXCLUSIVE} | MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name ] | ORDER BY col_name  [, col_name ] ... | RENAME COLUMN old_col_name  TO new_col_name | RENAME {INDEX | KEY} old_index_name  TO new_index_name | RENAME [TO | AS] new_tbl_name | {WITHOUT | WITH} VALIDATION } partition_options : partition_option  [ partition_option ] ... partition_option : { ADD PARTITION ( partition_definition ) | DROP PARTITION partition_names | DISCARD PARTITION { partition_names  | ALL} TABLESPACE | IMPORT PARTITION { partition_names  | ALL} TABLESPACE | TRUNCATE PARTITION { partition_names  | ALL} | COALESCE PARTITION number | REORGANIZE PARTITION partition_names  INTO ( partition_definitions ) | EXCHANGE PARTITION partition_name  WITH TABLE tbl_name  [{WITH | WITHOUT} VALIDATION] | ANALYZE PARTITION { partition_names  | ALL} | CHECK PARTITION { partition_names  | ALL} | OPTIMIZE PARTITION { partition_names  | ALL} | REBUILD PARTITION { partition_names  | ALL} | REPAIR PARTITION { partition_names  | ALL} | REMOVE PARTITIONING } key_part : { col_name  [( length )] | ( expr )} [ASC | DESC] index_type : USING {BTREE | HASH} index_option : { KEY_BLOCK_SIZE [=] value | index_type 

