Skip to content

MySQL support (create table) #55

Open
@nene

Description

@nene
  • CREATE TABLE
    • TEMPORARY
    • IF NOT EXISTS
    • column constraints:
      • NULL | NOT NULL
      • DEFAULT { literal | (expr) }
      • DATETIME/TIMESTAMP initialization:
        • DEFAULT CURRENT_TIMESTAMP
        • ON UPDATE CURRENT_TIMESTAMP
      • VISIBLE | INVISIBLE
      • AUTO_INCREMENT
      • UNIQUE [KEY]
      • [PRIMARY] KEY
      • COMMENT 'string'
      • COLLATE collation_name
      • COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}
      • [SECONDARY_]ENGINE_ATTRIBUTE [=] 'string'
      • STORAGE {DISK | MEMORY}
      • references_def
      • CHECK (expr) [[NOT] ENFORCED]
      • [GENERATED ALWAYS] AS (expr)
      • 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]...
      • FOREIGN KEY [index_name] (col_name, ...) references_def
      • 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]
    • references definition:
      • REFERENCES tbl_name (key_part,...)
      • ... [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]
      • ... [ON DELETE reference_option]
      • ... [ON UPDATE reference_option]
      • reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT
    • table options:
      • optional = sign
      • optional commas
      • all possible options in form of name [=] value
      • START TRANSACTION
      • TABLESPACE tablespace_name [STORAGE DISK]
      • [TABLESPACE tablespace_name] STORAGE MEMORY
      • 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
    • AS query
    • [AS] query (no AS keyword necessary!)
    • LIKE old_table_name
    • ( LIKE old_table_name )

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions