背景:
公司系统里有二三十张表,老板叫我整理一份数据字典,工作量真让人蛋疼.网络上找了一些工具导出数据字典,但是格式不是很理想,于是就”偷懒”地写了一个导出数据字典的代码,刚好也可以用来生成毕业设计的数据字典.
代码如下.(复制即可使用,导出excel的js文件,想要的话,自行百度)
效果图:
<?php
/**
* 生成mysql数据字典
*/
header("Content-type: text/html; charset=utf-8");
error_reporting(E_ALL && ~E_NOTICE);
//配置数据库
$dbserver = "";
$dbusername = "";
$dbpassword = "";
$database = "";
//其他配置
$mysql_conn = @mysql_connect("$dbserver", "$dbusername", "$dbpassword") or die("Mysql connect is error.");
mysql_select_db($database, $mysql_conn);
mysql_query('SET NAMES utf8', $mysql_conn);
$table_result = mysql_query('show tables', $mysql_conn);
$no_show_table = array(); //不需要显示的表
$no_show_field = array(); //不需要显示的字段
//取得所有的表名
while ($row = mysql_fetch_array($table_result)) {
if (!in_array($row[0], $no_show_table)) {
$tables[]['TABLE_NAME'] = $row[0];
}
}
//替换所以表的表前缀
/* if($_GET['prefix']){
$prefix = 'czzj';
foreach($tables as $key => $val){
$tableName = $val['TABLE_NAME'];
$string = explode('_',$tableName);
if($string[0] != $prefix){
$string[0] = $prefix;
$newTableName = implode('_', $string);
mysql_query('rename table '.$tableName.' TO '.$newTableName);
}
}
echo "替换成功!";exit();
} */
//循环取得所有表的备注及表中列消息
foreach ($tables as $k => $v) {
$sql = 'SELECT * FROM ';
$sql .= 'INFORMATION_SCHEMA.TABLES ';
$sql .= 'WHERE ';
$sql .= "table_name = '{
$v['TABLE_NAME']}' AND table_schema = '{
$database}'";
$table_result = mysql_query($sql, $mysql_conn);
while ($t = mysql_fetch_array($table_result)) {
$tables[$k]['TABLE_COMMENT'] = $t[