sql-parser-cst icon indicating copy to clipboard operation
sql-parser-cst copied to clipboard

MySQL support (create table)

Open nene opened this issue 2 years ago • 0 comments

  • [ ] 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}
    • [ ] 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
    • [ ] 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]...)
    • [ ] 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 )

nene avatar Jan 11 '24 10:01 nene