MySQL 一键生成wiki、protobuf等
来源:互联网 发布:利用淘宝店做淘宝客 编辑:程序博客网 时间:2024/06/06 00:34
SHOW FULL FIELDS FROM TABLE 语句的妙用
例如一个create table语句:
CREATE TABLE `t_user` ( `id` varchar(32) NOT NULL COMMENT '用户ID', `user_name` varchar(64) NOT NULL COMMENT '用户姓名', `password` varchar(64) NOT NULL COMMENT '登录密码', `email` varchar(64) NOT NULL COMMENT '邮箱地址', `mobile` varchar(64) NOT NULL DEFAULT '' COMMENT '手机号', `address` varchar(512) NOT NULL DEFAULT '' COMMENT '地址', `sex` tinyint(4) NOT NULL DEFAULT '0' COMMENT '性别,1-男、2-女、3-未知', `status` int(10) unsigned NOT NULL DEFAULT '1' COMMENT '状态:1、未转正;2、虚拟;4、转正;8、待离职;16、已离职', `security_key` varchar(128) NOT NULL DEFAULT '' COMMENT '登陆安全校验码', `ctime` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '数据创建时间', `mtime` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '记录最后一次修改的时间', PRIMARY KEY (`id`), KEY `idx_mobile` (`mobile`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户信息表';
表创建成功后,执行如下命令:
SHOW FULL FIELDS FROM t_user
Field Type Collation Null Key Default Extra Privileges Comment ------------ ---------------- ------------------ ------ ------ ------- ------ ------------------------------- -----------------------------------------------------------------------------------id varchar(32) utf8mb4_general_ci NO PRI (NULL) select,insert,update,references 用户ID user_name varchar(64) utf8mb4_general_ci NO (NULL) select,insert,update,references 用户姓名 password varchar(64) utf8mb4_general_ci NO (NULL) select,insert,update,references 登录密码 email varchar(64) utf8mb4_general_ci NO (NULL) select,insert,update,references 邮箱地址 mobile varchar(64) utf8mb4_general_ci NO MUL select,insert,update,references 手机号 address varchar(512) utf8mb4_general_ci NO select,insert,update,references 地址 sex tinyint(4) (NULL) NO 0 select,insert,update,references 性别,1-男、2-女、3-未知 status int(10) unsigned (NULL) NO 1 select,insert,update,references 状态:1、未转正;2、虚拟;4、转正;8、待离职;16、已离职 security_key varchar(128) utf8mb4_general_ci NO select,insert,update,references 登陆安全校验码 ctime int(10) unsigned (NULL) NO 0 select,insert,update,references 数据创建时间 mtime int(10) unsigned (NULL) NO 0 select,insert,update,references 记录最后一次修改的时间
就是把表的结构当成表操作取出来,包括字段名、类型、备注等,执行这个sql语句能干什么呢?
一般,表创建后下一步是不是要写protobuf的message
或者写wiki
或者生成一些固定代码
如今通过SHOW FULL FIELDS FROM TABLE 可以轻轻松松自动化生成搞定一切。
比如写了个不到10行的php代码来生成markdown说明文档:
<?phpmysql_connect("localhost", "root", "123123") or die("Could not connect: " . mysql_error());mysql_select_db("test");$result = mysql_query("SHOW FULL FIELDS FROM t_user");echo "| 参数名称 | 类型 | 非空约束 | 备注说明|\n| ------ | ------ | ------ | ------ |\n";while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "|{$row[0]}|{$row[1]}|{$row[3]}|{$row[8]}|\n";}mysql_free_result($result);?>
最后直接输出:
| 参数名称 | 类型 | 非空约束 | 备注说明|| ------ | ------ | ------ | ------ ||id|varchar(32)|NO|用户ID||user_name|varchar(64)|NO|用户姓名||password|varchar(64)|NO|登录密码||email|varchar(64)|NO|邮箱地址||mobile|varchar(64)|NO|手机号||address|varchar(512)|NO|地址||sex|tinyint(4)|NO|性别,1-男、2-女、3-未知||status|int(10) unsigned|NO|状态:1、未转正;2、虚拟;4、转正;8、待离职;16、已离职||security_key|varchar(128)|NO|登陆安全校验码||ctime|int(10) unsigned|NO|数据创建时间||mtime|int(10) unsigned|NO|记录最后一次修改的时间|
复制到wiki上保存,惊喜出来了:
干净利落快捷一秒生成wiki,怎么一个爽字了得
总结
通过SHOW FULL FIELDS FROM TABLE 获取到了字段名、类型、注释要自动生成什么都是分分钟的事了。
1 0
- MySQL 一键生成wiki、protobuf等
- Memcached Wiki 一 关于
- wiki搭建--apache+mysql+php+wiki
- protobuf生成rpcserver代码
- protobuf 生成C++文件
- protobuf代码生成
- Protobuf生成Serializer
- protobuf c++应用<一>
- protobuf问题集锦(一)
- Protobuf和GRPC(一)
- protobuf学习入门:一
- 使用PHP一键生成MySQL数据库字典
- 【protobuf】 1.生成C++代码
- protobuf 生成对应的文件
- redmine wiki 直接支持html等标签
- mysql 安装 等步骤(一)
- [ProtoBuf]ProtoBuf命令生成的Cpp文件分析
- GO-数据类型protobuf-go-mysql
- spark 1.6.0 core源码分析2 master启动流程
- IOS图像拉伸解决方案
- GreenDAO—Android ORM框架(一)
- Android编译错误:You have tried to change the API from what has been previously approved.
- 算法导论第六章6.5
- MySQL 一键生成wiki、protobuf等
- 无限轮播图 三种实现方式
- 使用ivy管理jar包
- 如何在mac上安装gradle
- C语言的控制语句
- Java提高篇(三二)-----List总结
- 7_4_D题 India and China Origins题解 [hdu 5652](并查集)
- android小知识点ArrayList转String[]
- maven问题