zoukankan      html  css  js  c++  java
  • mysql表结构及索引脚本

    mysql索引

    1.PRIMARY  KEY(主键索引)
    mysql> ALTER  TABLE  `table_name`  ADD  PRIMARY  KEY (  `column`  ) 
    2.UNIQUE(唯一索引)
    mysql> ALTER  TABLE  `table_name`  ADD  UNIQUE ( `column` ) 
    3.INDEX(普通索引)
    mysql> ALTER  TABLE  `table_name`  ADD  INDEX index_name (  `column`  )
    4.FULLTEXT(全文索引)
    mysql> ALTER  TABLE  `table_name`  ADD  FULLTEXT ( `column` )
    5.多列索引
    mysql> ALTER  TABLE  `table_name`  ADD  INDEX index_name (  `column1`,  `column2`,  `column3`  )

    6.删除索引

    mysql> ALTER TABLE `table_name` DROP INDEX index_name

    如果从表中删除了某列,则索引会受到影响。对于多列组合的索引,如果删除其中的某列,则该列也会从索引中删除。如果删除组成索引的所有列,则整个索引将被删除。

    mysql导出全部索引

    SELECT
    CONCAT('ALTER TABLE `',TABLE_NAME,'` ', 'ADD ', 
     IF(NON_UNIQUE = 1,
     CASE UPPER(INDEX_TYPE)
     WHEN 'FULLTEXT' THEN 'FULLTEXT INDEX'
     WHEN 'SPATIAL' THEN 'SPATIAL INDEX'
     ELSE CONCAT('INDEX `',
      INDEX_NAME,
      '` USING ',
      INDEX_TYPE
     )
    END,
    IF(UPPER(INDEX_NAME) = 'PRIMARY',
     CONCAT('PRIMARY KEY USING ',
     INDEX_TYPE
     ),
    CONCAT('UNIQUE INDEX `',
     INDEX_NAME,
     '` USING ',
     INDEX_TYPE
    )
    )
    ),'(', GROUP_CONCAT(DISTINCT CONCAT('`', COLUMN_NAME, '`') ORDER BY SEQ_IN_INDEX ASC SEPARATOR ', '), ');') AS 'Show_Add_Indexes'
    FROM information_schema.STATISTICS
    WHERE TABLE_SCHEMA = 'pbq'
    GROUP BY TABLE_NAME, INDEX_NAME
    ORDER BY TABLE_NAME ASC, INDEX_NAME ASC

    mysql 删除全部索引
    SELECT
    CONCAT(
    'ALTER TABLE `',
    TABLE_NAME,
    '` ',
    GROUP_CONCAT(
    DISTINCT
    CONCAT(
    'DROP ',
    IF(UPPER(INDEX_NAME) = 'PRIMARY',
    'PRIMARY KEY',
    CONCAT('INDEX `', INDEX_NAME, '`')
    )
    )
    SEPARATOR ', '
    ),
    ';'
    )
    FROM information_schema.STATISTICS
    WHERE TABLE_SCHEMA = 'destination_database_name'
    GROUP BY TABLE_NAME
    ORDER BY TABLE_NAME ASC

    mysql修改表结构

    增加列[add 列名]

    ①alter table 表名 add 列名 列类型 列参数【加的列在表的最后面】

    ②alter table 表名 add 列名 列类型 列参数 after 某列【把新列加在某列后面】

    ③alter table 表名 add 列名 列类型 列参数 first【把新列加在最前面】

    删除列[drop 列名]

    ①alter table 表名 drop 列名

    修改列[modife 列名]

    ①alter table 表名 modify 列名 新类型 新参数【修改列类型】

    ②alter table 表名 change 旧列名 新列名 新类型 新参数【修改列名和列类型】

    查询列

    ①desc 表名【查询所有列】

    ②show columns from 表名【效果和desc一样】

    ③show create table 表名【查看表的创建代码】

  • 相关阅读:
    监听键盘弹出 隐藏
    状态栏 设置白色字体
    UITextField 属性详解
    支付宝集成SDK 报错
    UIWebView
    app上传 需要的icon
    百度云推送 pem
    百度地图
    info.plist 属性讲解
    静态库 动态库
  • 原文地址:https://www.cnblogs.com/sxpdy8571/p/7426731.html
Copyright © 2011-2022 走看看