mysql数据库如何快速获得库中无主键的表?
获取数据库中除系统库sql以外的所有没有主键的表,如下所示:
挑选
表_模式,
表名
从
信息_模式。桌子
在哪里
(表模式,表名称)不在(
选择不同
表模式,表名称
从
信息_模式。列
在哪里
COLUMN_KEY优先级
)
而table_schema不在(
sys,
mysql,
信息模式,
性能模式
)
挑选
_NAME,
_TYPE,
_NAME,
c.序数_位置
从
信息__约束为t,
信息__列_用法为c
在哪里
_NAM
mysql数据库怎么修改表名?
Online-DDL功能是5.6以后加的,但是好像用的人不多。有兴趣可以研究一下。
目前,佩尔科纳pt-online-schema-change仍然是常见的解决方案。
gt下载Percona工具包
Pt-osc在这个工具包中。原则上,修改表结构时,会先建立一个临时表,然后复制原表的数据,修改结构。同时,将在原始表上建立一个触发器(update、insert、delete),将数据同步到临时表。修改临时表时,会进行最后一次修改,所以理论上锁表的时间会很短。