把mysql数据库生成数据字典,直接可用便于查看数据库表、字段,做一个数据字典是很有必要的,下面只需要简单更改下配置就可以用了,样式也是挺好的。
代码
- <?php
- header('content-type:text/html;charset=utf-8');
- define('DB_HOST','localhost');
- define('DB_USER','root');
- define('DB_PASS','root');
- define('DB_NAME','test');
- define('DB_PORT',3306);
- define('DB_CHAR','utf8');
- define('APPNAME','');
- $conn=mysql_connect(DB_HOST.':'.DB_PORT,DB_USER,DB_PASS);
- mysql_select_db(DB_NAME);
- mysql_query('set names ' . DB_CHAR);
- $sql="SHOW TABLE STATUS FROM " . DB_NAME;
- $result=mysql_query($sql);
- $array=array();
- while($rows=mysql_fetch_assoc($result)){
- $array[]=$rows;
- }
- // table count
- $tab_count = count($array);
- echo '
'.APPNAME.'--数据字典 - '.APPNAME.'--数据字典
(注:共'.$tab_count.'张表,按ctrl+F查找关键字)'."n";- for($i=0;$i<$tab_count;$i++){
- echo '
'."n";'."n";
- echo '
- ';
- echo ($i+1).'、表名:[' . $array[$i]['Name'] . '] 注释:' . $array[$i]['Comment'];
- echo '
'."n";- //查询数据库字段信息
- $tab_name = $array[$i]['Name'];
- $sql_tab='show full fields from `' . $array[$i]['Name'].'`';
- $tab_result=mysql_query($sql_tab);
- $tab_array=array();
- while($r=mysql_fetch_assoc($tab_result)){
- $tab_array[]=$r;
- }
- //show keys
- $keys_result=mysql_query("show keys from `".$array[$i]['Name'].'`',$conn);
- $arr_keys=mysql_fetch_array($keys_result);
- echo '
- ';
- echo '';
- for($j=0;$j<count($tab_array);$j++){
- $key_name=$arr_keys['Key_name'];
- if($key_name="PRIMARY"){
- $key_name='主键('.$key_name.')';
- }
- $key_field=$arr_keys['Column_name'];
- if ( $tab_array[$j]['Field']==$key_field){
- $key_value="PK";
- }else{
- $key_value="";
- }
- echo ' '."n";
- echo ' '."n";
- echo ' '."n";
- echo ' '."n";
- echo ' '."n";
- echo ' '."n";
- echo ' '."n";
- echo ' '."n";
- echo ' '."n";
- }
- echo '
字段 类型 为空 额外 默认 整理 备注 ' . $tab_array[$j]['Field'] . ' ' . $tab_array[$j]['Type'] . ' ' . ($key_value!=''?$key_value:$tab_array[$j]['Null']) . ' ' . $tab_array[$j]['Extra'] . ' ' . $tab_array[$j]['Default'] . ' ' . $tab_array[$j]['Collation'] . ' ' . ($key_value!=''?$key_name:$tab_array[$j]['Comment']) . ' - echo '
'."n";- }
- echo ''."n";
- echo ''."n";
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持全福编程网。