Heim  >  Artikel  >  Datenbank  >  把mysql数据库生成数据字典,直接可用_MySQL

把mysql数据库生成数据字典,直接可用_MySQL

WBOY
WBOYOriginal
2016-06-01 13:28:301110Durchsuche

bitsCN.com

把mysql数据库生成数据字典,直接可用

 

便于查看数据库表、字段,做一个数据字典是很有必要的,下面只需要简单更改下配置就可以用了,样式也是挺好的。

<?php  header(&#39;content-type:text/html;charset=utf-8&#39;);  define(&#39;DB_HOST&#39;,&#39;localhost&#39;);  define(&#39;DB_USER&#39;,&#39;root&#39;);  define(&#39;DB_PASS&#39;,&#39;pwd&#39;);  define(&#39;DB_NAME&#39;,&#39;dbname&#39;);  define(&#39;DB_PORT&#39;,3306);  define(&#39;DB_CHAR&#39;,&#39;utf8&#39;);  define(&#39;APPNAME&#39;,&#39;&#39;);  $conn=mysql_connect(DB_HOST.&#39;:&#39;.DB_PORT,DB_USER,DB_PASS);  mysql_select_db(DB_NAME);  mysql_query(&#39;set names &#39; . 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 &#39;<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="zh">  <head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  <title>&#39;.APPNAME.&#39;--数据字典</title>  <style type="text/css">      table caption, table th, table td {          padding: 0.1em 0.5em 0.1em 0.5em;          margin: 0.1em;          vertical-align: top;      }      th {          font-weight: bold;          color: black;          background: #D3DCE3;      }      table tr.odd th, .odd {          background: #E5E5E5;      }      table tr.even th, .even {          background: #f3f3f3;      }      .db_table{          border-top:1px solid #333;      }      .title{font-weight:bold;}  </style>  </head>  <body>  <p style="text-align:center;background:#D3DCE3;font-size:19px;">      <b>&#39;.APPNAME.&#39;--数据字典</b>  </p>  <p style="background:#f3f3f3;text-align:center;">(注:共&#39;.$tab_count.&#39;张表,按ctrl+F查找关键字)</p>&#39;."/n";  for($i=0;$i<$tab_count;$i++){  echo &#39;<ul type="square">&#39;."/n";  echo &#39;  <li class="title">&#39;;  echo ($i+1).&#39;、表名:[&#39; . $array[$i][&#39;Name&#39;] . &#39;]      注释:&#39; . $array[$i][&#39;Comment&#39;];  echo &#39;</li>&#39;."/n";  //查询数据库字段信息  $tab_name = $array[$i][&#39;Name&#39;];  $sql_tab=&#39;show full fields from `&#39; . $array[$i][&#39;Name&#39;].&#39;`&#39;;  $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][&#39;Name&#39;].&#39;`&#39;,$conn);  $arr_keys=mysql_fetch_array($keys_result);      echo &#39;<li style="list-style: none outside none;"><table border="0" class="db_table" >&#39;;      echo &#39;<tr class="head">          <th style="width:110px">字段</th>          <th>类型</th>          <th>为空</th>          <th>额外</th>          <th>默认</th>          <th style="width:95px">整理</th>          <th>备注</th></tr>&#39;;      for($j=0;$j<count($tab_array);$j++){          $key_name=$arr_keys[&#39;Key_name&#39;];          if($key_name="PRIMARY"){              $key_name=&#39;主键(&#39;.$key_name.&#39;)&#39;;          }          $key_field=$arr_keys[&#39;Column_name&#39;];          if ( $tab_array[$j][&#39;Field&#39;]==$key_field){              $key_value="PK";          }else{              $key_value="";          }          echo &#39;        <tr class="&#39;.($j%2==0?"odd":"even").&#39;">&#39;."/n";          echo &#39;          <td>&#39; . $tab_array[$j][&#39;Field&#39;] . &#39;</td>&#39;."/n";          echo &#39;          <td>&#39; . $tab_array[$j][&#39;Type&#39;] . &#39;</td>&#39;."/n";          echo &#39;          <td>&#39; . ($key_value!=&#39;&#39;?$key_value:$tab_array[$j][&#39;Null&#39;]) . &#39;</td>&#39;."/n";          echo &#39;          <td>&#39; . $tab_array[$j][&#39;Extra&#39;] . &#39;</td>&#39;."/n";          echo &#39;          <td>&#39; . $tab_array[$j][&#39;Default&#39;] . &#39;</td>&#39;."/n";          echo &#39;          <td>&#39; . $tab_array[$j][&#39;Collation&#39;] . &#39;</td>&#39;."/n";          echo &#39;          <td>&#39; . ($key_value!=&#39;&#39;?$key_name:$tab_array[$j][&#39;Comment&#39;]) . &#39;</td>&#39;."/n";          echo &#39;        </tr>&#39;."/n";      }      echo &#39;  </table></li>&#39;."/n";      echo &#39;</ul>&#39;."/n";    }  echo &#39;</body>&#39;."/n";  echo &#39;</html>&#39;."/n";  

 


bitsCN.com
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn