Mysql查看表字段信息

Posted DingDangDog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql查看表字段信息相关的知识,希望对你有一定的参考价值。

查看表信息

使用mysql创建的表,无论是表注释、索引,还是字段的类型等等,都会存到MySQL自带的库表中,可以通过SQL查出来想要的表、字段信息。
了解information_schema库,可以在工作中起到意想不到的效果。

查询某个库中所有表的基本信息

-- database_name替换为库名,查出库中所有表的TABLE_NAME表名、TABLE_COMMENT表注释
SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema.TABLES WHERE table_schema='database_name';

TABLES表

information_schema库中的TABLES表,存放MySQL所有表的表信息。

常用列

  • TABLE_SCHEMA:数据库名
  • TABLE_NAME:数据表名
  • TABLE_COMMENT:数据表注释/说明

COLUMNS表

information_schema库中的COLUMNS表,存放MySQL所有表的字段详细信息。

常用列

  • TABLE_SCHEMA:数据库名
  • TABLE_NAME:数据表名
  • COLUMN_NAME:数据列名
  • DATA_TYPE:数据类型,如:varchar
  • COLUMN_TYPE:数据列类型(含数据长度),如:varchar(32)
  • COLUMN_COMMENT:数据列注释/说明

MySQL 查看表结构简单命令

一、简单描述表结构,字段类型

desc tabl_name;

显示表结构,字段类型,主键,是否为空等属性,但不显示外键。

例如:desc table_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\'

例如:


五、查看表生成的DDL

show create table table_name;

例如:

这个命令虽然显示起来不是太容易看, 这个不是问题可以用\\G来结尾,使得结果容易阅读;该命令把创建表的DDL显示出来,于是表结构、类型,外键,备注全部显示出来了。

我比较喜欢这个命令:输入简单,显示结果全面。

补充一些可能用到的命令:

建表命令:
CREATE TABLE `t_sold_order` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`dt` date DEFAULT NULL COMMENT \'日期\',
`hour` tinyint(2) DEFAULT \'0\' COMMENT \'小时\',
`hour_order` int(11) DEFAULT \'0\' COMMENT \'小时订单数\',
`total_order` int(11) DEFAULT \'0\' COMMENT \'总的订单数\',
`prediction` int(11) DEFAULT \'0\' COMMENT \'预测订单数\',
PRIMARY KEY (`id`),
UNIQUE KEY `dt_hour` (`dt`,`hour`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT=\'实时订单数\'

表操作命令:
复制表结构:create table table1 like table;
复制数据:insert into table1 select * from table

机器授权:
grant select on *.* to \'reader\'@\'%\' identified by \'123456\' WITH GRANT OPTION
flush privileges

查询数据直接插入
insert into t_visual_user_domain(`user_id`,`domain`,`group`) select id,\'www.baidu.com\' as domain,`group` from t_visual_user;

修改表结构
alter table competitor_goods add sku_id bigint(20) unsigned DEFAULT NULL COMMENT \'商品销售码\';

以上是关于Mysql查看表字段信息的主要内容,如果未能解决你的问题,请参考以下文章

MySQL表分区优势及分类简析 MySQL DBA学习

Mysql DBA 高级运维学习笔记-增删表字段更改表名删除表实战

mysql表分区

mysql数据库检查表经常超时,怎样解决

Mysql查看表字段信息

mysql怎样修改字段值,详细