直接举例某个数据库中只有两个数据表,一个 test ,一个 xfp_keywords ,获取他们的数据库表结构。

此功能可以用于开发人员快速获取数据表结构通过获取的数据生成各种文件形式,用来快速理解数据表结构和逻辑。

先上图看效果,图下面是实现的代码:

PHP获取上面数据库结构的代码:(php7暂不支持,自己可以换成php支持的数据扩展,如有需要可以联系博主)

<style type="text/css">
table {
border-collapse:collapse;
}
table tr td {
border: 0.5px solid #666666;
padding: 5px 10px;
}
</style>
<?php
header('Content-Type: text/html; charset=utf-8');
$db_host = '127.0.0.1';
$db_username = 'db_username';
$db_password = 'db_password';
$db_database = 'information_schema';
$db_name = 'db_name'; $connection = mysql_connect($db_host, $db_username, $db_password); //连接到数据库
mysql_query("set names 'utf8'"); //编码转化
if (!$connection) {
die("could not connect to the database:</br>" . mysql_error()); //诊断连接错误
}
$db_selecct = mysql_select_db($db_database); //选择数据库 if (!$db_selecct) {
die("could not to the database</br>" . mysql_error());
} $sqlTable = "SELECT * FROM `TABLES` WHERE `TABLE_SCHEMA` = '{$db_name}'";
$queryTable = mysql_query($sqlTable); //执行查询
$i = 1;
$table = '<table>';
while ($rowTable = mysql_fetch_assoc($queryTable)) {
if ($i > 1) {
$table .= '<tr>';
$table .= '<td colspan="4">&nbsp;</td>';
$table .= '</tr>';
}
$table .= '<tr>';
$table .= '<td>' . $rowTable['TABLE_NAME'] . '</td>';
$table .= '<td colspan="3">' . $rowTable['TABLE_COMMENT'] . '</td>';
$table .= '</tr>';
$table .= '<tr>';
$table .= '<td>字段名称</td>';
$table .= '<td>字段类型</td>';
$table .= '<td>字段描述</td>';
$table .= '<td>备注</td>';
$table .= '</tr>';
$sqlColumn = "SELECT * FROM `COLUMNS` WHERE `TABLE_SCHEMA` = '{$db_name}' AND `TABLE_NAME` = '{$rowTable['TABLE_NAME']}'"; //构建查询语句
$queryColumn = mysql_query($sqlColumn); //执行查询
while ($rowColumn = mysql_fetch_assoc($queryColumn)) {
$table .= '<tr>';
$table .= '<td>' . $rowColumn['COLUMN_NAME'] . '</td>';
$table .= '<td>' . $rowColumn['COLUMN_TYPE'] . '</td>';
$table .= '<td>' . $rowColumn['COLUMN_COMMENT'] . '</td>';
$table .= '<td>&nbsp;</td>';
$table .= '</tr>';
}
$i++;
}
$table .= '</table>';
echo $table;
mysql_close($connection);

PHP快速获取MySQL数据库表结构的更多相关文章

  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. java获取mysql数据库表、字段、字段类型、字段注释

    最近想要写一个根据数据库表结构生成实体.mapper接口.mapping映射文件.service类的简单代码生成工具,所以查阅了一些资料,怎样获取数据库的表.表中字段.字段类型.字段注释等信息. 最后 ...

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

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

  5. 一个漂亮的输出MySql数据库表结构的PHP页面

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

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

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

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

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

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

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

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

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

随机推荐

  1. Thinkpad W520 + Ubuntu 12.04LTS, 13.10, 14.04LTS安装Nvidia显卡驱动设置

    Thinkpad W520 + Ubuntu 12.04LTS, 13.10, 14.04LTS安装Nvidia显卡驱动设置 http://henzhai.com/tech/2012/07/w520- ...

  2. mysql删除重复数据只保留一条

    mysql删除重复数据只保留一条 新建一张测试表: CREATE TABLE `book` ( `id` char(32) NOT NULL DEFAULT '', `name` varchar(10 ...

  3. (NO.00003)iOS游戏简单的机器人投射游戏成形记(十三)

    好了,现在在iOS模拟器中编译运行App,一切貌似都很好. 且慢,我们还没有到真机上调试呢?按说在编写App'时,无论如何应该尽快尽早在真机上调试.否则可能会碰到意想不到的问题,这次就是如此. 在真机 ...

  4. JS开发引用HTML DOM的location和document对象

    上一次提到,在报表软件FineReport的JavaScript开发中,可以访问并处理的HTML DOM对象有windows.location.document三种.这次就继续介绍后两种,locati ...

  5. vs2010 单文档MFC 通过加载位图文件作为客户区背景

    实现效果: 这个其实是一个非常常见的功能,大家都会考虑给自己简单的工程做一个背景界面.其实只要在view类中重载OnEraseBkgnd()这个函数就好了. 代码如下: BOOL CdddView:: ...

  6. (NO.00001)iOS游戏SpeedBoy Lite成形记(二十六)

    到目前为止,选手跑到终点时仿佛没什么激动人心的事情发生呢?貌似需要添加一些胜利的特效啊! 前面说好的不添加特效,只完成游戏功能的诺言呢? T T 我们主要想实现这样一个特效效果: 1.胜利的玩家突出显 ...

  7. ISLR系列:(4.3)模型选择 PCR & PLS

    Linear Model Selection and Regularization 此博文是 An Introduction to Statistical Learning with Applicat ...

  8. Java关键字之this

    this的作用: 1) this是当前对象的一个引用,便于对当前对象参数的使用: 2)可以返回对象的自己这个类的引用,同时还可以在一个构造函数当中调用另一个构造函数 this示例: public cl ...

  9. UVa - 116 - Unidirectional TSP

    Background Problems that require minimum paths through some domain appear in many different areas of ...

  10. Mahout 算法

    Mahout 包括协同过滤,基于User和Item的推荐:kmeans.Fuzzy-kmeans .Mean shift .Dirichlet process .LDA聚类:奇异值分解:并行频繁项集挖 ...