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. 删除触发器。

参考技术B desc 表名或
desc 库名.表名第一种就要切换到某个库才能查看,第二种不用。desc
是略写,是可以用的

MYSQL完美解决生产环境改表结构锁表问题

参考技术A 有时候,会很不小心,在业务运行中执行了一条锁表语句。这时候该怎么办?

例如:修改元数据。

SHOW FULL PROCESSLIST 查看一下:

发现修改之后,锁表了。这时候怎么办? 杀死它 KILL 4623660

然后一切又恢复正常了。

一般对于数据量较大的表,需要修改表结构,或者做一些耗时比较久的锁表操作,建议在晚上(业务闲时)执行。这个时候可以配合使用任务处理一下。

如:修改一个表的字段长度,和添加索引

名词解释:

接着回家睡觉,第二天回来检查结果就好了。

附:添加唯一索引示例
MYSQL存储过程结合任务处理耗时操作

以上是关于mysql怎么查看表结构的主要内容,如果未能解决你的问题,请参考以下文章

mysql中有2个结构一样的表,我想把两个表的交集存到另一个表中,请问怎么操作呢?

navicat怎么导出表结构?mysql用navicat如何导出表结构啊?求解

mysql 如何查询一个带有树结构的表的数据

mysql缓存机制怎么查看有没有启动

mysql 更改表结构

MYSQL完美解决生产环境改表结构锁表问题