1. <?php
  2. header('content-type:text/html;charset=utf-8');
  3.  
  4. define('DB_HOST','127.0.01');
  5. define('DB_USER','root');
  6. define('DB_PASS','123456');
  7. define('DB_NAME','test');
  8. define('DB_PORT',3306);
  9. define('DB_CHAR','utf8');
  10. define('APPNAME','');
  11. $conn=mysql_connect(DB_HOST.':'.DB_PORT,DB_USER,DB_PASS);
  12. mysql_select_db(DB_NAME);
  13. mysql_query('set names ' . DB_CHAR);
  14. $sql="SHOW TABLE STATUS FROM " . DB_NAME;
  15. $result=mysql_query($sql);
  16. $array=array();
  17. while($rows=mysql_fetch_assoc($result)){
  18. $array[]=$rows;
  19. }
  20. // table count
  21. $tab_count = count($array);
  22.  
  23. echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  24. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  25. <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="zh">
  26. <head>
  27. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  28. <title>'.APPNAME.'--数据字典</title>
  29. <style type="text/css">
  30. table caption, table th, table td {
  31. padding: 0.1em 0.5em 0.1em 0.5em;
  32. margin: 0.1em;
  33. vertical-align: top;
  34. }
  35. th {
  36. font-weight: bold;
  37. color: black;
  38. background: #D3DCE3;
  39. }
  40. table tr.odd th, .odd {
  41. background: #E5E5E5;
  42. }
  43. table tr.even th, .even {
  44. background: #f3f3f3;
  45. }
  46. .db_table{
  47. border-top:1px solid #333;
  48. }
  49. .title{font-weight:bold;}
  50. </style>
  51. </head>
  52. <body>
  53. <div style="text-align:center;background:#D3DCE3;font-size:19px;">
  54. <b>'.APPNAME.'--数据字典</b>
  55. </div>
  56. <div style="background:#f3f3f3;text-align:center;">(注:共'.$tab_count.'张表,按ctrl+F查找关键字)</div>'."\n";
  57. for($i=0;$i<$tab_count;$i++){
  58. echo '<ul type="square">'."\n";
  59. echo ' <li class="title">';
  60. echo ($i+1).'、表名:[' . $array[$i]['Name'] . '] 注释:' . $array[$i]['Comment'];
  61. echo '</li>'."\n";
  62. //查询数据库字段信息
  63. $tab_name = $array[$i]['Name'];
  64. $sql_tab='show full fields from `' . $array[$i]['Name'].'`';
  65. $tab_result=mysql_query($sql_tab);
  66. $tab_array=array();
  67.  
  68. while($r=mysql_fetch_assoc($tab_result)){
  69. $tab_array[]=$r;
  70. }
  71. //show keys
  72. $keys_result=mysql_query("show keys from `".$array[$i]['Name'].'`',$conn);
  73. $arr_keys=mysql_fetch_array($keys_result);
  74. echo '<li style="list-style: none outside none;"><table border="0" class="db_table" >';
  75. echo '<tr class="head">
  76. <th style="width:110px">字段</th>
  77. <th>类型</th>
  78. <th>为空</th>
  79. <th>额外</th>
  80. <th>默认</th>
  81. <th style="width:95px">整理</th>
  82. <th>备注</th></tr>';
  83. for($j=0;$j<count($tab_array);$j++){
  84. $key_name=$arr_keys['Key_name'];
  85. if($key_name="PRIMARY"){
  86. $key_name='主键('.$key_name.')';
  87. }
  88. $key_field=$arr_keys['Column_name'];
  89. if ( $tab_array[$j]['Field']==$key_field){
  90. $key_value="PK";
  91. }else{
  92. $key_value="";
  93. }
  94. echo ' <tr class="'.($j%2==0?"odd":"even").'">'."\n";
  95. echo ' <td>' . $tab_array[$j]['Field'] . '</td>'."\n";
  96. echo ' <td>' . $tab_array[$j]['Type'] . '</td>'."\n";
  97. echo ' <td>' . ($key_value!=''?$key_value:$tab_array[$j]['Null']) . '</td>'."\n";
  98. echo ' <td>' . $tab_array[$j]['Extra'] . '</td>'."\n";
  99. echo ' <td>' . $tab_array[$j]['Default'] . '</td>'."\n";
  100. echo ' <td>' . $tab_array[$j]['Collation'] . '</td>'."\n";
  101. echo ' <td>' . ($key_value!=''?$key_name:$tab_array[$j]['Comment']) . '</td>'."\n";
  102. echo ' </tr>'."\n";
  103. }
  104. echo ' </table></li>'."\n";
  105. echo '</ul>'."\n";
  106.  
  107. }
  108. echo '</body>'."\n";
  109. echo '</html>'."\n";
  110. ?>

mysql数据字段整理的更多相关文章

  1. astgo经常死机变慢?试试mysql数据碎片整理吧

    使用SSH之类的工具或navicat链接数据库后(注意:是链接数据库后哦,不是直接SSH后就弄,这样提示命令错误的) 执行下面命令(目的是对ASTGO的数据库内除话单之外的所有表进行数据碎片整理,特别 ...

  2. [转]分析MySQL数据类型的长度【mysql数据字段 中length和decimals的作用!熟悉mysql必看】

    转载自:http://blog.csdn.net/daydreamingboy/article/details/6310907 分析MySQL数据类型的长度 MySQL有几种数据类型可以限制类型的&q ...

  3. Mysql数据约束 整理

    数据约束 1.默认值: 作用: 当用户对使用默认值的字段不插入值的时候,就使用默认值. 注意: 1)对默认值字段插入null是可以的. 2)对默认值字段可以插入非null   CREATE TABLE ...

  4. Oracle与mysql的字段类型整理

    Oralce的字段类型整理如下: Mysql的字段类型整理如下: 最后面一栏是对应JAVA的基本类型.希望对初学者有用,初学者在学习JAVA的时候,不知道怎么把JAVA的对象指向到ORALCE或者MY ...

  5. 关于C#读取MySql数据时,返回DataTable中某字段数据是System.Array[]形式

    我在使用C#(VS2008)读取MySql数据库(5.1版本)时,返回的DataTable数据中arrivalDate字段数据显示为System.Array[]形式(程序中没有对返回的数据进行任何加工 ...

  6. mysql中与 in 相反的语句 find_in_set('数据',字段名)

    在 mysql 中,我们经常用 in 来查询众多数据中是否有数据表字段中的值: 如果我们在数据表的字段中添加了很多值,然后查询某个值是否是这个字段中众多值的一个时可以用 find_in_set('数据 ...

  7. mysql数据库存中文字段

    mysql数据默认编码是拉丁,而我们更多的使用utf8, 在创建库的时候执行参数即可: CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET ...

  8. 【PHP】将EXCEL表中的数据轻松导入Mysql数据表

    在网络上有不较多的方法,在此介绍我已经验证的方法. 方法一.利用EXCEL表本身的功能生成SQL代码 ①.先在“phpmyadmin”中建立数据库与表(数据库:excel,数据表:excel01,字段 ...

  9. 设置MySQL数据表主键

    设置MySQL数据表主键: 使用“primary key”关键字创建主键数据列.被设置为主键列不允许出现重复的值,很多情况下与“auto_increment”递增数字相结合.如下SQL语句所示: My ...

随机推荐

  1. Android AsyncTask将讲解

    原型:AsyncTask<Params, Progress, Result> Params 表示传入参数类型 Progress表示处理参数类型 Result表示返回类型 new Async ...

  2. show full processlist

    mysql 显示哪些线程正在运行: show full processlist; 如果mysql 发生了锁表的情况,这个命令很容易知道是哪个表被什么操作锁住了

  3. C C++ 数字后面加 LL是什么意思

    long long类型,在赋初值的时候,如果大于2的31次方-1,那么后面需要加上LL

  4. ruby安装方法

    安装 Ruby Ruby官网下载:http://www.ruby-lang.org/en/downloads/(官网下载链接) 安装过程中,得注意,勾选上添加到环境变量 安装完成后,查看是否安装成功 ...

  5. 使用JfreeChart生成图表遇到的问题

    生成的图片不显示 需要在web.xml中配置一个指定的Servlet <servlet> <servlet-name>DisplayChart</servlet-name ...

  6. javagc日志详解

    https://blog.csdn.net/aliveTime https://plumbr.io/blog/garbage-collection/understanding-garbage-coll ...

  7. Unity中的定时器与延时器

    JavaScript中的定时器与延时器,分别是 setInterval.setTimeout,对应的清理函数是:clearInterval.clearTimeout. 而在Unity中,则分别是:In ...

  8. java新特性

    第一章:java8新特性 1.1 lambda表达式 1.2 Stream API 1.3 java8新特性总结 第二章:java9新特性 2.1 mac下多版本jdk的安装和管理 第三章:java1 ...

  9. OpenCV3 for python3 学习笔记3-----用OpenCV3处理图像一

    本文的内容都与图像处理有关,这时需要修改图像,比如要使用具有艺术性的滤镜.外插(extrapolate)某些部分.分割.粘贴或其他需要的操作. 1.不同色彩空间的的转换 OpenCV有数百种关于在不同 ...

  10. Keras/Tensorflow选择GPU/CPU运行

    首先,导入os,再按照PCI_BUS_ID顺序,从0开始排列GPU, import os os.environ["CUDA_DEVICE_ORDER"] = "PCI_B ...