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 ‘商品销售码’;