挨踢小子MySQL数据字典源码

愿每一次的分享,都将值得期待

今日推荐:挨踢小子

前些天写过这么一篇文章:

遇一人白首,择一程(序)终老

,文中有写到自己写了一份PHP版本的数据字典 ,其实主要得益于我的师傅,为我提供了这个idea,此前并没有想过要这样做,后来觉得这个对提高工作效率等方面,也是特别有益的,因此稍加改善。源码如下。

环境:php运行环境

对象:MySQL

字典界面展示图:

图中左侧部分属于菜单区域:

左侧罗列了当前数据库中所有的数据表。优先显示表注释,如果表注释为空则显示表名称。所以建议大家在建表之初能加上中文注释,毕竟业界英语好的程序猿毕竟是少数方便了解表的具体含义。

图中右侧部分属于信息展示:

右侧部分一目了然,显示当前数据表中所有字段名,数据类型,字段类型长度,默认值,以及其备注信息。

配置截图:

在源码中,找到图示部分,按注释自行操作即可

帖码:

/**

* @project: 挨踢小子数据字典详细说明

* @desc: 该文件应该放置于php运行环境之下,并配置下面的数据库。在建表过程中需要注意数据表注释,数据字段注释

* @author: Aiti

* @email: 1778958082@qq.com

* @time: 2018年10月15日上午9:31:12

*/

date_default_timezone_set("PRC");

$mysql_conf=array('host'=>'127.0.0.1',//数据库的链接IP地址'db'=>'information_schema',//数据库名称'db_user'=>'root',//登录用户名'db_pwd'=>'root',//登录密码);

$mysqli=@newmysqli($mysql_conf['host'],

$mysql_conf['db_user'],$mysql_conf['db_pwd']);

if($mysqli->connect_errno){die("could not connect to the database:\n".$mysqli->connect_error);//诊断连接错误}$mysqli->query("set names 'utf8';");//编码转化

$select_db=$mysqli->select_db($mysql_conf['db']);if(!$select_db){die("could not connect to the db:\n".$mysqli->error);}//获取该数据库下面所有的表和表注释

$tablesql="Select table_name table_name,TABLE_COMMENT table_annotation from INFORMATION_SCHEMA.TABLES Where table_schema = '".$mysql_conf['db']."'";

$tableresone=$mysqli->query($tablesql);

$tablerestwo=$mysqli->query($tablesql);

echo"

";

$newstr='';

while($tablerow=$tableresone->fetch_assoc()){

if(empty($tablerow['table_annotation'])){$newstr.="".$tablerow['table_name']."";}else{$newstr.="".$tablerow['table_annotation']."";}}

echo$newstr."

";

while($tablerow=$tablerestwo->fetch_assoc()){

// 遍历数据库中的表名组装语句$infosql="SELECT

`COLUMN_NAME`,

`COLUMN_TYPE`,

`DATA_TYPE`,

`CHARACTER_MAXIMUM_LENGTH`,

`IS_NULLABLE`,

`COLUMN_DEFAULT`,

`COLUMN_COMMENT`

FROM INFORMATION_SCHEMA.COLUMNS

where table_schema ='".$mysql_conf['db']."' AND table_name ='{$tablerow['table_name']}'";$infores=$mysqli->query($infosql);if(!$infores){die("sql error:\n".$mysqli->error);}echo''.$tablerow['table_name']." ".$tablerow['table_annotation']."";echo"";echo"

";$infores->free();

}

$tableresone->free();

$tablerestwo->free();

$mysqli->close();

?>

作者:挨踢小子

来源:CSDN

版权声明:本文为博主原创文章,转载请附上博文链接!

关注本公号,回复文件口令:aitisql

即可获取文件源码

关注【挨踢小子】,让我们一起成长

适合分享|值得留言

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181025G1TXRV00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券