无论是刚接手新项目,或者是维护老项目,有一个方便的数据字典可用是最棒哒!
本文是我为了方便使用数据字典而写的代码。
代码无版权,随便使用。
拷贝代码后,只需修改数据库名,主机,用户名,密码,开箱即用。
同时,代码还可以保留自定义的数据字典部分,方便实用。
妈妈再也不用担心我没有好用的数据字典工具了!
源码
全部代码如下,只有一个文件,放在可访问的web目录下即可,附件里也有源码:
tool.php
mysqli = new mysqli('127.0.0.1', 'root', '', self::dbname); $sql="set names utf8"; $this->mysqli->query($sql); } /** * 数据字典生成器 * * 可以从数据库中直接读出数据字典并直接呈现,只需配置好数据库连接。 * 还可以修改数据库中的内容(或添加上原来数据字典里没有的内容)。 * * 代码可以随意使用和修改。 * * 2017 12 23 * * @author yyy */ public function db_dict ( ) { $db_name = self::dbname; // 这是数据库名 // 先查出表的元数据,和字段的元数据。 $sql = " select table_name,table_comment from information_schema.tables where table_schema='{$db_name}' order by table_name asc "; $table_arr = $this->mysqli->query($sql)->fetch_all(MYSQLI_ASSOC); // var_dump($table_arr);return; $sql = " SELECT T.TABLE_NAME AS 'table_name', T. ENGINE AS 'engine', C.COLUMN_NAME AS 'column_name', C.COLUMN_TYPE AS 'column_type', C.COLUMN_COMMENT AS 'column_comment' FROM information_schema.COLUMNS C INNER JOIN information_schema.TABLES T ON C.TABLE_SCHEMA = T.TABLE_SCHEMA AND C.TABLE_NAME = T.TABLE_NAME WHERE T.TABLE_SCHEMA = '{$db_name}' "; $column_arr = $this->mysqli->query($sql)->fetch_all(MYSQLI_ASSOC); $column_arr = $this->my_comment( $column_arr ); // 构造表的索引 $table_list_str = ''; foreach ($table_arr as $v) { $table_list_str .= '
{$table_name}({$table_comment}) | |
字段 | 类型 | 注释 | {$vv['column_type']} |
{$vv['column_comment']} | html; } } $table_str .= "
{$db_name}数据字典 |
-
{$table_list_str}
{$table_str} [url=#header]
回到首页[/url]