mysql怎么查看表结构
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql怎么查看表结构相关的知识,希望对你有一定的参考价值。
mysql查看表结构简单命令。
一、简单描述表结构,字段类型desc
tabl_name;
显示表结构,字段类型,主键,是否为空等属性,但不显示外键。
二、查询表中列的注释信息
select
*
from
information_schema.columns
where
table_schema
=
'db'
#表所在数据库
and
table_name
=
'tablename'
;
#你要查的表
三、只查询列名和注释
select
column_name,
column_comment
from
information_schema.columns
where
table_schema
='db'
and
table_name
=
'tablename'
;
四、#查看表的注释
select
table_name,table_comment
from
information_schema.tables
where
table_schema
=
'db'
and
table_name
='tablename'
ps:二~四是在元数据表中查看,我在实际操作中,常常不灵光,不知为什么,有了解的大侠请留印。
五、查看表生成的ddl
show
create
table
table_name; 参考技术A
Online DDL 工具:pt-osc
对于 MySQL Online DDL 目前主流的有三种工具:
原生 Online DDL;
pt-osc(online-schema-change),
gh-ost
本文主要讲解 pt-online-schema-change 的使用以及三种工具的简单对比。
一、原理及限制
1.1 原理
1. 创建一个与原表结构相同的空表,表名是 _new 后缀;
2. 修改步骤 1 创建的空表的表结构;
3. 在原表上加三个触发器:delete/update/insert,用于 copy 数据过程中,将原表中要执行的语句在新表中执行;
4. 将原表数据以数据块(chunk)的形式 copy 到新表;
5. rename 原表为 old 表,并把新表 rename 为原表名,然后删除旧表;
6. 删除触发器。
desc 库名.表名第一种就要切换到某个库才能查看,第二种不用。desc
是略写,是可以用的
MYSQL完美解决生产环境改表结构锁表问题
参考技术A 有时候,会很不小心,在业务运行中执行了一条锁表语句。这时候该怎么办?例如:修改元数据。
SHOW FULL PROCESSLIST 查看一下:
发现修改之后,锁表了。这时候怎么办? 杀死它 KILL 4623660
然后一切又恢复正常了。
一般对于数据量较大的表,需要修改表结构,或者做一些耗时比较久的锁表操作,建议在晚上(业务闲时)执行。这个时候可以配合使用任务处理一下。
如:修改一个表的字段长度,和添加索引
名词解释:
接着回家睡觉,第二天回来检查结果就好了。
附:添加唯一索引示例
MYSQL存储过程结合任务处理耗时操作
以上是关于mysql怎么查看表结构的主要内容,如果未能解决你的问题,请参考以下文章
mysql中有2个结构一样的表,我想把两个表的交集存到另一个表中,请问怎么操作呢?