| WITH PARSER parser_name | COMMENT ’ string ’ | {VISIBLE | INVISIBLE} } table_options : table_option  [[,] table_option ] ... table_option : { AUTOEXTEND_SIZE [=] value | AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value | [DEFAULT] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] ’ string ’ | COMPRESSION [=] {’ZLIB’ | ’LZ4’ | ’NONE’} | CONNECTION [=] ’ connect_string ’ | {DATA | INDEX} DIRECTORY [=] ’ absolute path to directory ’ | DELAY_KEY_WRITE [=] {0 | 1} | ENCRYPTION [=] {’Y’ | ’N’} | ENGINE [=] engine_name | ENGINE_ATTRIBUTE [=] ’ string ’ | INSERT_METHOD [=] { NO | FIRST | LAST } | KEY_BLOCK_SIZE [=] value | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] ’ string ’ | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | SECONDARY_ENGINE_ATTRIBUTE [=] ’ string ’ | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] value | TABLESPACE tablespace_name  [STORAGE {DISK | MEMORY}] | UNION [=] ( tbl_name [, tbl_name ]...) } partition_options : (see CREATE TABLE options) 

ALTER TABLE  changes the structure of a table. For example, you can add or delete columns, create or destroy indexes, change the type of existing columns, or rename columns or the table itself. You can also change characteristics such as the storage engine used for the table or the table comment. 

•To use ALTER TABLE , you need ALTER , CREATE , and INSERT  privileges for the table. Renaming a table requires ALTER  and DROP  on the old table, ALTER , CREATE , and INSERT  on the new table. 

•Following the table name, specify the alterations to be made. If none are given, ALTER TABLE  does nothing. 

•The syntax for many of the permissible alterations is similar to clauses of the CREATE TABLE  statement. column_definition  clauses use the same syntax for ADD  and CHANGE  as for CREATE TABLE . For more information, see Section 13.1.20, “CREATE TABLE Statement” . 

•The word COLUMN  is optional and can be omitted, except for RENAME COLUMN  (to distinguish a column- renaming operation from the RENAME  table-renaming operation). 

•Multiple ADD , ALTER , DROP , and CHANGE  clauses are permitted in a single ALTER TABLE  statement, separated by commas. This is a MySQL extension to standard SQL, which permits only one of each clause per ALTER TABLE  statement. For example, to drop multiple columns in a single statement, do this: 

ALTER TABLE t2 DROP COLUMN c, DROP COLUMN d; 

