Home > Database > Mysql Tutorial > 把mysql数据库生成数据字典,直接可用_MySQL

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

WBOY
Release: 2016-06-01 13:28:30
Original
1141 people have browsed it

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";  
Copy after login

 


bitsCN.com
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template