愿每一次的分享,都将值得期待
今日推荐:挨踢小子
前些天写过这么一篇文章:
遇一人白首,择一程(序)终老
,文中有写到自己写了一份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
即可获取文件源码
关注【挨踢小子】,让我们一起成长
适合分享|值得留言
领取专属 10元无门槛券
私享最新 技术干货