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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值