经常为了方便和直观,我们会首先直接在数据库中设计出表,但是接下来又要将表的结构和设计编写在设计文档中,以便编码的时候可以直观的查询,一旦数据库表非常多,字段非常多的时候,这无疑是件非常郁闷的工作。

这是一个漂亮的PHP页面,可以自动输出MySql数据库所有表结构,大大方便了文档的编写工作,也同时非常方便编码的时候进行查询。当然在设计MySql数据库表和字段的时候详细填写表和字段的备注,这是非常好的习惯,对这个网页的输出也是最佳效果的。
 
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
<!--
body,table{
        font-size:13px;
}
table{
        table-layout:fixed;
        empty-cells:show; 
        border-collapse: collapse;
        margin:0 auto;
  border:1px solid #cad9ea;
}
th{
        height:22px;
  font-size:13px;
  font-weight:bold;
  
  text-align:center;
}
td{
        height:20px;
}
.tableTitle{font-size:14px; font-weight:bold;}

</style>
<title>zuizen数据库结构</title>
</head>

<body>
<div style="margin:0 auto;width:880px; border:1px #006600 solid; font-size:12px; line-height:20px;">
  <div style="width:100%;height:30px; font-size:16px; font-weight:bold; text-align:center;">
  **网数据库结构<br />
  <font style="font-size:14px; font-weight:normal;"><?php echo date("Y-m-d h:i:s"); ?></font>
  </div>
  <?php
  
  $dbconn=mysql_connect("localhost", "root","123");
  $sqlname="information_schema";
  mysql_select_db($sqlname,$dbconn);
  session_start();
  
  $sql = "SELECT * FROM tables where table_schema='db_zuizen' order by TABLE_NAME";
  $result = mysql_query($sql);    
  while($row=mysql_fetch_array($result))
  {
    //print_r($row);
  ?>  
  <div style="margin:0 auto; width:100%; padding-top:10px;">
    <b class="tableTitle">表名: <?php echo $row["TABLE_NAME"] ?> </b> <br />
    <?php echo $row["TABLE_COMMENT"] ?>
  </div>  
  <table width="100%" border="1">
    <thead>
      <th width="70">序号</td>
      <th width="170">字段名</td>
      <th width="140">字段类型</td>
      <th width="80">允许为空</td>
      <th width="70">默认值</td>
      <th>备注</td>
    </thead>
    <?php
    $sql2 = "SELECT * FROM columns where table_name='".$row["TABLE_NAME"]."' order by COLUMN_NAME";
    $result2 = mysql_query($sql2);    
    $num=0;
    while($row2=mysql_fetch_array($result2))
    {
      $num = $num+1;
      //print_r($row);
    ?>  
    
    <tr>
      <td align="center"><b><?php echo $num ?></b></td>
      <td><?php echo $row2["COLUMN_NAME"] ?></td>
      <td><?php echo $row2["COLUMN_TYPE"] ?></td>
      <td align="center"><?php echo $row2["IS_NULLABLE"] ?></td>
      <td align="center"><?php echo $row2["COLUMN_DEFAULT"] ?></td>
      <td><?php echo $row2["COLUMN_COMMENT"] ?></td>
    </tr>
    <?php
    }
    ?>
  </table>
  <?php 
  }
  mysql_close($dbconn);
  ?>

</div>
</body>
</html>

以下为运行抓取的样子:

转自:http://blog.51cto.com/babyhe/1118372

一个漂亮的输出MySql数据库表结构的PHP页面的更多相关文章

  1. 用户中心mysql数据库表结构的脚本

    /* Navicat MySQL Data Transfer Source Server : rm-m5e3xn7k26i026e75o.mysql.rds.aliyuncs.com Source S ...

  2. mysql数据库表结构导出

    mysql数据库表结构导出 命令行下具体用法如下: mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 脚本名; 导出整个数据库结构和数据 mysqldump -h localh ...

  3. 比较两个mysql数据库表结构的差异

    需求来源:一个线上系统,一个开发系统,现在要把开发系统更新到线上,但是开发系统的数据库结构与线上的略有差异,所以需要找出两个数据库的表结构差异. 数据库表结构的差异 注:操作均在Linux系统下完成 ...

  4. PHP快速获取MySQL数据库表结构

    直接举例某个数据库中只有两个数据表,一个 test ,一个 xfp_keywords ,获取他们的数据库表结构. 此功能可以用于开发人员快速获取数据表结构通过获取的数据生成各种文件形式,用来快速理解数 ...

  5. centos/windows服务器,Mysql数据库表结构损坏-已解决

    [问题原因]服务器突然断电 [故障报告]数据库表结构损坏 [解决思路]进入强制恢复模式,备份库表及数据重建 故障发现 周末公司断电,周一启动数据库就直接报错了 查看日志 上面标记的log,明确表示是非 ...

  6. powerDesigner如何动态显示mysql数据库表结构

    原文链接:http://jingyan.baidu.com/article/e5c39bf5d64efa39d760333c.html 有时候,由于数据库中的表太多,主外键关系复杂,对数据库的非设计人 ...

  7. PowerDesigner逆向生成MYSQL数据库表结构总结

    由于日常数据建模经常使用PowerDesigner,使用逆向工程能更加快速的生成模型提高效率,所以总结使用如下: 1.      安装MYSQL的ODBC驱动 Connector/ODBC 5.1.1 ...

  8. 反向读取Mysql数据库表结构到PowerDesigner中

    使用PowerDesigner挺长时间了,只是一些简单的表结构设计,因需要对当前数据库进行再设计,需要看一下数据库中所有的表,及表之间的关系,并重新修改表结构,因此需求就是怎么把数据库中的表结构反向生 ...

  9. mysql数据库表结构与表约束

    表结构操作: 添加单列:alter table tb_name add [column] col_name 添加一列: alter table `sudty` add `aaa` int; 添加多列: ...

随机推荐

  1. VirtualBox、VMware在桥接模式下无法获取ip地址问题

    声明: 参考 https://blog.csdn.net/lcdcxy/article/details/49362171 https://jingyan.baidu.com/article/948f5 ...

  2. Gym - 102346D Denouncing Mafia 取k叶子节点使叶子到根覆盖节点数最大

    给你一棵树 你可以取K条链 一条链为根到叶子的路径 问你K条链最多覆盖树上多少个节点 贪心的做 肯定是每次取最长链 但是取完最长链 一颗树就会变为若干个森林 我们要维护当前所有森林里的最长链 ans数 ...

  3. MySQL进阶15--TCL事务控制语言--建立结束事务/设置断点--默认隔离级别--脏读/幻读/不可重复读

    #TCL事物控制语言 : /* Transaction control language : 事物控制语言 事务: 一个或者一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行; ...

  4. P1351 联合权值[鬼畜解法]

    题目描述 无向连通图 G 有 n 个点,n−1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 Wi​,每条边的长度均为 1.图上两点 (u,v) 的距离定义为 u 点到 v 点的最短距离 ...

  5. 微信支付报调用支付JSAPI缺少参数: sign

    检查后台返回参数中没有paySign字段

  6. NAT和PAT

    地址转换技术 优点: 内网能够主动访问外网 外网不能主动访问内网 内网安全 节省公网ip地址 缺点:慢   PAT 端口地址转换 节省公网IP 替换源端口和源地址 NAT 不节省公网IP 一个公网地址 ...

  7. Time Intersection

    Description Give two users' ordered online time series, and each section records the user's login ti ...

  8. [Dart] final vs const

    void main() { ; print(a); ; print(b); final c = 'Hello'; // c = 'Hello again'; // Uncomment to throw ...

  9. idea创建springmvc项目创部署成功,但访问controller层报错404

    这个问题网上有很多解决问题,检查配置文件是否正确?controller注解是否扫描?项目启动是否成功等等. 访问报错404,而且后台也没错误,归根结底还是访问路径错了. 1.如图,idea配置tomc ...

  10. 块状链表 bzoj 3343教主的魔法

    //块状链表//分块排序,然后每次查找时在暴力查找头和尾两个块.//中间那些块,因为有序所以只需2分查找即可.我用的是lower_pound();//插入是,也是头和尾暴力插入,中间那些加到一个累计里 ...