为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL导出所有Index和约束的方法

标签:
MySQL

本文汇总了MySQL导出所有Index 和 约束的方法,提供给大家以方便大家查询使用。具体如下:

1. 导出创建自增字段语句:

?

1234567891011121314151617181920212223242526SELECTCONCAT('ALTER TABLE `',TABLE_NAME,'` ','MODIFY COLUMN `',COLUMN_NAME,'` ',IF(UPPER(DATA_TYPE) = 'INT',REPLACE(SUBSTRING_INDEX(UPPER(COLUMN_TYPE),')',1),'INT','INTEGER'),UPPER(COLUMN_TYPE)),') UNSIGNED NOT NULL AUTO_INCREMENT;')FROM information_schema.COLUMNSWHERE TABLE_SCHEMA = 'source_database_name' ANDEXTRA = UPPER('AUTO_INCREMENT')ORDER BY TABLE_NAME ASC

2. 导出所有索引:

?

123456789101112131415161718192021222324252627SELECTCONCAT('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.STATISTICSWHERE TABLE_SCHEMA = 'pbq'GROUP BY TABLE_NAME, INDEX_NAMEORDER BY TABLE_NAME ASC, INDEX_NAME ASC

3. 创建删除所有自增字段:

?

1234567891011121314151617181920212223242526SELECTCONCAT('ALTER TABLE `',TABLE_NAME,'` ','MODIFY COLUMN `',COLUMN_NAME,'` ',IF(UPPER(DATA_TYPE) = 'INT',REPLACE(SUBSTRING_INDEX(UPPER(COLUMN_TYPE),')',1),'INT','INTEGER'),UPPER(COLUMN_TYPE)),') UNSIGNED NOT NULL;')FROM information_schema.COLUMNSWHERE TABLE_SCHEMA = 'destination_database_name' ANDEXTRA = UPPER('AUTO_INCREMENT')ORDER BY TABLE_NAME ASC

4. 删除库所有索引:

?

12345678910111213141516171819202122SELECTCONCAT('ALTER TABLE `',TABLE_NAME,'` ',GROUP_CONCAT(DISTINCTCONCAT('DROP ',IF(UPPER(INDEX_NAME) = 'PRIMARY','PRIMARY KEY',CONCAT('INDEX `', INDEX_NAME, '`')))SEPARATOR ', '),';')FROM information_schema.STATISTICSWHERE TABLE_SCHEMA = 'destination_database_name'GROUP BY TABLE_NAMEORDER BY TABLE_NAME ASC

希望本文所述示例能够对大家有所帮助。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消