获取mysql数据库中某个表的主键和索引

使用mysql的主键和索引,并转化为oracle数据库的简表语句

获取主键

#mysql获取表主键
select
concat(‘alter table {} add constraint P{} primary key ‘,’(’,r1.primary_col,’)’)
from (
SELECT
TABLE_NAME
,COUNT(1) index_count
,GROUP_CONCAT(DISTINCT(column_name) SEPARATOR ‘,’) primary_col
FROM
INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
table_name = ‘course’
AND constraint_name = ‘PRIMARY’
and constraint_schema = ‘ods’
GROUP BY TABLE_NAME
ORDER BY COUNT(1) DESC
) r1

获取索引

#mysql 获取表索引
SELECT
CONCAT(‘create un index ‘,’ {} on {} ‘,’(’,r1.indexes,’)’)
from (
SELECT
TABLE_NAME
,COUNT(1) index_count
,GROUP_CONCAT(DISTINCT(index_name) SEPARATOR ‘,’) indexes
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = ‘ods’
AND INDEX_NAME <> ‘primary’
and table_name = ‘score2’
GROUP BY TABLE_NAME
ORDER BY COUNT(1) DESC
) r1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值