MySQL语法模板 SQL语句:表、索引

作者: 我是曾经那个少年 | 来源:发表于2018-12-05 15:10 被阅读2次
    1. 修改表结构
    ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
        alter_specification [, alter_specification] ...
    
    alter_specification:
        table_option ...
      | ADD [COLUMN] col_name column_definition
            [FIRST | AFTER col_name ]
      | ADD [COLUMN] (col_name column_definition,...)
      | ADD {INDEX|KEY} [index_name]
            [index_type] (index_col_name,...) [index_option] ...
      | ADD [CONSTRAINT [symbol]] PRIMARY KEY
            [index_type] (index_col_name,...) [index_option] ...
      | ADD [CONSTRAINT [symbol]]
            UNIQUE [INDEX|KEY] [index_name]
            [index_type] (index_col_name,...) [index_option] ...
      | ADD FULLTEXT [INDEX|KEY] [index_name]
            (index_col_name,...) [index_option] ...
      | ADD SPATIAL [INDEX|KEY] [index_name]
            (index_col_name,...) [index_option] ...
      | ADD [CONSTRAINT [symbol]]
            FOREIGN KEY [index_name] (index_col_name,...)
            reference_definition
      | ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
      | CHANGE [COLUMN] old_col_name new_col_name column_definition
            [FIRST|AFTER col_name]
      | MODIFY [COLUMN] col_name column_definition
            [FIRST | AFTER col_name]
      | DROP [COLUMN] col_name
      | DROP PRIMARY KEY
      | DROP {INDEX|KEY} index_name
      | DROP FOREIGN KEY fk_symbol
      | DISABLE KEYS
      | ENABLE KEYS
      | RENAME [TO] new_tbl_name
      | ORDER BY col_name [, col_name] ...
      | CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]
      | [DEFAULT] CHARACTER SET [=] charset_name [COLLATE [=] collation_name]
      | DISCARD TABLESPACE
      | IMPORT TABLESPACE
      | partition_options
      | ADD PARTITION (partition_definition)
      | DROP PARTITION partition_names
      | COALESCE PARTITION number
      | REORGANIZE PARTITION partition_names INTO (partition_definitions)
      | ANALYZE PARTITION partition_names
      | CHECK PARTITION partition_names
      | OPTIMIZE PARTITION partition_names
      | REBUILD PARTITION partition_names
      | REPAIR PARTITION partition_names
      | REMOVE PARTITIONING
    
    index_col_name:
        col_name [(length)] [ASC | DESC]
    
    index_type:
        USING {BTREE | HASH | RTREE}
    
    index_option:
        KEY_BLOCK_SIZE [=] value
      | index_type
      | WITH PARSER parser_name
      | COMMENT 'string'
    
    
    1. 创建索引
    
    CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
        [USING index_type]
        ON tbl_name (index_col_name,...)
     
    index_col_name:
        col_name [(length)] [ASC | DESC]
    
    
    1. 创建表
    CREATE TABLE tbl_name
    (
    col_name data_type NOT NULL DEFAULT default_value AUTO_INCREMENT COMMENT 'string',
    ...
    KEY index_name index_type (index_col_name,...),
    ...
    PRIMARY KEY(index_col_name,...),
    UNIQUE KEY(index_col_name,...)
    ) ENGINE=engine_name CHARACTER SET=charset_name COMMENT='string'
    
    1. 参照已有表的定义,来定义新的表
    CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name LIKE old_tbl_name;
    
    1. 删除表的索引
    DROP INDEX index_name ON tbl_name
    
    1. 删除表
    DROP [TEMPORARY] TABLE [IF EXISTS]
        tbl_name [, tbl_name] ...
        [RESTRICT | CASCADE]
    
    1. 修改表名称
    RENAME TABLE tbl_name TO new_tbl_name
    
    1. 清空表数据
    TRUNCATE [TABLE] tbl_name
    

    相关文章

      网友评论

        本文标题:MySQL语法模板 SQL语句:表、索引

        本文链接:https://www.haomeiwen.com/subject/uyfwcqtx.html