sql-parser-cst
sql-parser-cst copied to clipboard
MySQL support (create table)
- [ ] CREATE TABLE
- [x]
TEMPORARY - [x]
IF NOT EXISTS - [ ] column constraints:
- [x]
NULL | NOT NULL - [x]
DEFAULT { literal | (expr) } - [ ] DATETIME/TIMESTAMP initialization:
- [ ]
DEFAULT CURRENT_TIMESTAMP - [ ]
ON UPDATE CURRENT_TIMESTAMP
- [ ]
- [x]
VISIBLE | INVISIBLE - [x]
AUTO_INCREMENT - [x]
UNIQUE [KEY] - [x]
[PRIMARY] KEY - [x]
COMMENT 'string' - [x]
COLLATE collation_name - [x]
COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT} - [x]
[SECONDARY_]ENGINE_ATTRIBUTE [=] 'string' - [x]
STORAGE {DISK | MEMORY} - [x]
references_def - [x]
CHECK (expr) [[NOT] ENFORCED] - [x]
[GENERATED ALWAYS] AS (expr) - [x]
GENERATED ALWAYS ... {VIRTUAL | STORED}
- [x]
- [ ] table constraints:
- [ ]
{INDEX | KEY} [index_name] [index_type] (key_part,...) [index_option]... - [ ]
{FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] (key_part,...) [index_option] ... - [ ]
PRIMARY KEY [index_type] (key_part,...) [index_option]... - [ ]
UNIQUE [INDEX | KEY] [index_name] [index_type] (key_part,...) [index_option]... - [x]
FOREIGN KEY [index_name] (col_name, ...) references_def - [x]
CHECK (expr) [[NOT] ENFORCED] - [ ] index_type:
USING {BTREE | HASH} - [ ] index_option:
- [ ]
KEY_BLOCK_SIZE [=] value - [ ]
index_type - [ ]
WITH PARSER parser_name - [ ]
COMMENT 'string' - [ ]
VISIBLE | INVISIBLE - [ ]
[SECONDARY_]ENGINE_ATTRIBUTE [=] 'string'
- [ ]
- [ ] key_part:
{col_name [(length)] | (expr)} [ASC | DESC]
- [ ]
- [x] references definition:
- [x]
REFERENCES tbl_name (key_part,...) - [x] ...
[MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] - [x] ...
[ON DELETE reference_option] - [x] ...
[ON UPDATE reference_option] - [x] reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT
- [x]
- [ ] table options:
- [x] optional
=sign - [ ] optional commas
- [x] all possible options in form of
name [=] value - [x]
START TRANSACTION - [x]
TABLESPACE tablespace_name [STORAGE DISK] - [x]
[TABLESPACE tablespace_name] STORAGE MEMORY - [x]
UNION [=] (tbl_name[,tbl_name]...)
- [x] optional
- [ ] partition options:
- [ ]
PARTITION BY [LINEAR] HASH(expr) - [ ]
PARTITION BY [LINEAR] KEY [ALGORITHM={1 | 2}] (column_list) - [ ]
PARTITION BY RANGE{(expr) | COLUMNS(column_list)} - [ ]
PARTITION BY LIST{(expr) | COLUMNS(column_list)} - [ ]
PARTITIONS num - [ ]
SUBPARTITION BY [LINEAR] HASH(expr) - [ ]
SUBPARTITION BY [LINEAR] KEY [ALGORITHM={1 | 2}] (column_list) - [ ]
SUBPARTITION BY ... [SUBPARTITIONS num] - [ ] PARTITION definition:
- [ ]
partition_name - [ ]
VALUES LESS THAN {(expr | value_list) | MAXVALUE} - [ ]
VALUES IN (value_list) - [ ] options:
[STORAGE] ENGINE,COMMENT,DATA DIRECTORY,INDEX DIRECTORY,MAX_ROWS,MIN_ROWS,TABLESPACE. - [ ] SUBPARTITION definition:
- [ ]
logical_name - [ ] options: (same as PARTITION options)
- [ ]
- [ ]
- [ ]
- [ ]
IGNORE | REPLACE - [x]
AS query - [ ]
[AS] query(no AS keyword necessary!) - [x]
LIKE old_table_name - [x]
( LIKE old_table_name )
- [x]