Mysql查询数据库表结构以及字段类型并展示

1.建表语句sys_user

CREATE TABLE `sys_user` (
  `id` varchar(32) NOT NULL COMMENT '编号',
  `dept_id` varchar(32) DEFAULT NULL COMMENT '部门',
  `login_name` varchar(50) NOT NULL COMMENT '登录名',
  `password` varchar(100) NOT NULL COMMENT '密码',
  `salt` varchar(20) NOT NULL,
  `name` varchar(50) NOT NULL COMMENT '姓名',
  `mobile` varchar(50) DEFAULT NULL COMMENT '手机',
  `photo` varchar(100) DEFAULT NULL COMMENT '用户头像',
  `email` varchar(100) DEFAULT NULL COMMENT '邮件',
  `user_type` varchar(2) DEFAULT NULL COMMENT '用户类型,业务扩展用',
  `status` varchar(1) DEFAULT NULL COMMENT '状态1:正常,0:禁用',
  `create_by` varchar(32) NOT NULL COMMENT '创建者',
  `create_date` datetime NOT NULL COMMENT '创建时间',
  `update_by` varchar(32) NOT NULL COMMENT '更新者',
  `update_date` datetime NOT NULL COMMENT '更新时间',
  `remarks` varchar(255) DEFAULT NULL COMMENT '备注信息',
  PRIMARY KEY (`id`),
  UNIQUE KEY `login_name` (`login_name`) USING BTREE,
  KEY `dept_id` (`dept_id`) USING BTREE,
  KEY `create_by` (`create_by`),
  KEY `create_date` (`create_date`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户信息';

2.根据表名查询表中的所有字段以及类型还有注解

   1). 查询表名:

  

SELECT
	table_name NAME,
	table_comment COMMENT 
FROM
	information_schema.TABLES where table_schema = ( SELECT DATABASE ( ) ) 
	AND table_name = upper(
'sys_user_role') order by create_time desc;

  2).查询表中的所有字段类型以及信息注解

select
	lower(t.column_name) name,
	if(t.is_nullable = 'yes' , '1' , '0') nullable,
	(t.ordinal_position * 10) sort ,
	t.column_comment comment ,
	t.data_type dataType ,
	t.character_maximum_length maxLength,
	t.column_type columnType,
	t.column_key columnKey,
	t.extra extra
	from
	information_schema.`columns` t 
	where table_name = upper('sys_user') and t.table_schema = (select database())
	order by t.ordinal_position asc;

  3).展示到页面

  4).然后可以操作表结构了,可以根据对应的信息修改字段信息,然后更新表中的字段信息

 

posted @ 2018-09-03 17:01  魔流剑  阅读(1910)  评论(0编辑  收藏  举报