这篇教程教大家做一个自动生成数据库数据字典HTML文件的代码,有时候在开发系统制作系统说明的时候很有用。不多说了,直接上代码:
mysql字典生成代码<?php//-hhost-uuser-ppassword-Pport-ccharset-ddbname$param=getopt('h:u:p:P:c:d:');$host=$param['h']??'127.0.0.1';$port=$param['P']??3306;$user=$param['u']??'root';$pass=$param['p']??'123456';$charset=$param['c']??'utf8';$dbname=$param['d']??'';$dsn="mysql:dbname={$dbname};host={$host};port={$port}";try{$pdo=newPDO($dsn,$user,$pass,[PDO::MYSQL_ATTR_INIT_COMMAND=>"SETNAMES'UTF8'"]);}catch(PDOException$e){echo'Connectionfailed:'.$e->getMessage();}//获取数据库中所有表信息$sql="SHOWTABLESTATUSFROM{$dbname}";$result=$pdo->query($sql,PDO::FETCH_ASSOC);$tables=$result->fetchAll();$table_count=count($tables);$html='<!DOCTYPEhtml><html><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>'.$dbname.'–数据字典</title><styletype="text/css">tablecaption,tableth,tabletd{padding:0.1em0.5em0.1em0.5em;margin:0.1em;vertical-align:top;}th{font-weight:bold;color:black;background:#D3DCE3;}tabletr.oddth,.odd{background:#E5E5E5;}tabletr.eventh,.even{background:#f3f3f3;}.db_table{border-top:1pxsolid#333;}.title{font-weight:bold;}</style></head><body><divstyle="text-align:center;background:#D3DCE3;font-size:19px;"><b>'.$dbname.'–数据字典</b></div><divstyle="background:#f3f3f3;text-align:center;">(注:共'.$table_count.'张表,按ctrl+F查找关键字)</div>'."\\n";for($i=0;$i<$table_count;$i++){$html.='<ultype="square">'."\\n";$html.='<li>';$html.=($i+1).'、表名:['.$tables[$i]['Name'].']注释:'.$tables[$i]['Comment'];$html.='</li>'."\\n";//查询数据库表字段信息$tab_name=$tables[$i]['Name'];$sql_tab='SHOWFULLFIELDSFROM`'.$tables[$i]['Name'].'`';$result=$pdo->query($sql_tab,PDO::FETCH_ASSOC);$field_info=$result->fetchAll();$html.='<listyle="list-style:noneoutsidenone;"><tableborder="0">';$html.='<tr><thstyle="width:110px">字段</th><th>类型</th><th>为空</th><th>额外</th><th>默认</th><thstyle="width:95px">字符集</th><th>是否主键</th><th>备注</th></tr>';for($j=0;$j<count($field_info);$j++){$html.='<trclass="'.($j%2==0?"odd":"even").'">'."\\n";$html.='<td>'.$field_info[$j]['Field'].'</td>'."\\n";$html.='<td>'.$field_info[$j]['Type'].'</td>'."\\n";$html.='<td>'.$field_info[$j]['Null'].'</td>'."\\n";$html.='<td>'.$field_info[$j]['Extra'].'</td>'."\\n";$html.='<td>'.$field_info[$j]['Default'].'</td>'."\\n";$html.='<td>'.$field_info[$j]['Collation'].'</td>'."\\n";$html.='<td>'.$field_info[$j]['Key'].'</td>'."\\n";$html.='<td>'.$field_info[$j]['Comment'].'</td>'."\\n";$html.='</tr>'."\\n";}$html.='</table></li>'."\\n";$html.='</ul>'."\\n";}$html.='</body>'."\\n";$html.='</html>'."\\n";file_put_contents($dbname.'.html',$html);
使用方法phpdict.php-h127.0.0.1-uroot-p123456-P3306-dblog_service
参数说明-hmysql服务器地址-umysql用户名-pmysql密码-Pmysql端口-dmysql数据库名
参数都有默认值,-d参数必传 最简单的用法:
phpdict.php-dblog_service
执行命令后生成一个以数据库名命名的html文件
产品猿社区致力收录更多优质的商业产品,给服务商以及软件采购客户提供更多优质的软件产品,帮助开发者变现来实现多方共赢;
日常运营的过程中我们难免会遇到各种版权纠纷等问题,如果您在社区内发现有您的产品未经您授权而被用户提供下载或使用,您可按照我们投诉流程处理,点我投诉;
本文来自用户发布投稿,不代表产品猿立场 ;若对此文有疑问或内容有严重错误,可联系平台客服反馈;
部分产品是用户投稿,可能本文没有提供官方下下载地址或教程,若您看到的内容没有下载入口,您可以在我们产品园商城搜索看开发者是否有发布商品;若您是开发者,也诚邀您入驻商城平台发布的产品,地址:点我进入;
如若转载,请注明出处:https://www.chanpinyuan.cn/42974.html;