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 表名【查看表的创建代码】

原文地址:https://www.cnblogs.com/sxpdy8571/p/7426731.html