PHP快速获取MySQL数据库表结构
直接举例某个数据库中只有两个数据表,一个 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"> </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> </td>';
$table .= '</tr>';
}
$i++;
}
$table .= '</table>';
echo $table;
mysql_close($connection);
PHP快速获取MySQL数据库表结构的更多相关文章
- 用户中心mysql数据库表结构的脚本
/* Navicat MySQL Data Transfer Source Server : rm-m5e3xn7k26i026e75o.mysql.rds.aliyuncs.com Source S ...
- mysql数据库表结构导出
mysql数据库表结构导出 命令行下具体用法如下: mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 脚本名; 导出整个数据库结构和数据 mysqldump -h localh ...
- java获取mysql数据库表、字段、字段类型、字段注释
最近想要写一个根据数据库表结构生成实体.mapper接口.mapping映射文件.service类的简单代码生成工具,所以查阅了一些资料,怎样获取数据库的表.表中字段.字段类型.字段注释等信息. 最后 ...
- 比较两个mysql数据库表结构的差异
需求来源:一个线上系统,一个开发系统,现在要把开发系统更新到线上,但是开发系统的数据库结构与线上的略有差异,所以需要找出两个数据库的表结构差异. 数据库表结构的差异 注:操作均在Linux系统下完成 ...
- 一个漂亮的输出MySql数据库表结构的PHP页面
经常为了方便和直观,我们会首先直接在数据库中设计出表,但是接下来又要将表的结构和设计编写在设计文档中,以便编码的时候可以直观的查询,一旦数据库表非常多,字段非常多的时候,这无疑是件非常郁闷的工作. 这 ...
- centos/windows服务器,Mysql数据库表结构损坏-已解决
[问题原因]服务器突然断电 [故障报告]数据库表结构损坏 [解决思路]进入强制恢复模式,备份库表及数据重建 故障发现 周末公司断电,周一启动数据库就直接报错了 查看日志 上面标记的log,明确表示是非 ...
- PowerDesigner逆向生成MYSQL数据库表结构总结
由于日常数据建模经常使用PowerDesigner,使用逆向工程能更加快速的生成模型提高效率,所以总结使用如下: 1. 安装MYSQL的ODBC驱动 Connector/ODBC 5.1.1 ...
- powerDesigner如何动态显示mysql数据库表结构
原文链接:http://jingyan.baidu.com/article/e5c39bf5d64efa39d760333c.html 有时候,由于数据库中的表太多,主外键关系复杂,对数据库的非设计人 ...
- 反向读取Mysql数据库表结构到PowerDesigner中
使用PowerDesigner挺长时间了,只是一些简单的表结构设计,因需要对当前数据库进行再设计,需要看一下数据库中所有的表,及表之间的关系,并重新修改表结构,因此需求就是怎么把数据库中的表结构反向生 ...
随机推荐
- iOS中 百度地图详解 韩俊强的博文
需要准备工作按照下图引进类库 需要添加 添加的两个字符串为:NSLocationWhenInUseUsageDescription / NSLocationAlwaysUsageDescripti ...
- (六十四)iOS的socket实现(C+OC混合实现)
对于微博.微信朋友圈之类的网络通信,使用JSON完全可以满足需求,但是如果要制作网络游戏,就需要建立一个持久连接,这时候就要考虑使用socket. 在iOS上实现socket大体有两种方法,一是借助自 ...
- ROS_Kinetic_03 ROS入门向导
ROS_Kinetic_03 ROS入门向导 每个人都有不同的学习习惯和爱好并针对不同的应用进行ROS相关设计与开发, 没有固定不变的学习模式,但以下的内容是通常都会用到的. 1. ROS基础教程 1 ...
- linux:你不知道的echo
linux的echo命令功能是在显示器上显示一段文字.一般格式为: echo [ -n ] 字符串.参数n是指行尾不换行 echo会将输入的字符串送往标准输出.输出的字符串间以空白字符隔开, 并在最后 ...
- Mahout决策森林
Mahout决策森林算法 一.决策树 决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法 ...
- Linux下使用GDAL进行开发(automake使用)
首先写三个源代码文件,分别是GDALTest.cpp.Fun.cpp和Fun.h,将这三个存放在一个叫GDALTest的文件夹中,然后打开终端,切换到该目录,如下图所示(注:这个图是最后截图的,所以文 ...
- DBUtils架构分析
首先,我们看看DBUtils的组织架构图 一点一点来看,AbstructQueryRunner封装了PreparStatement的产生与装填,同时还包括了对数据库资源的关闭等操作.它有两个子类,Qu ...
- Ubuntu_ROS中应用kinect v2笔记
Ubuntu_ROS中应用kinect v2笔记 个人觉得最重要的资料如下: 1. Microsoft Kinect v2 Driver Released http://www.ros.org/new ...
- AngularJS进阶(五)Angular实现下拉菜单多选
Angular实现下拉菜单多选 写这篇文章时,引用文章地址如下: http://ngmodules.org/modules/angularjs-dropdown-multiselect http:// ...
- Myexclipse创建Junit测试
. 下载JUnit的jar文件,下载地址在这里 2. 在MyEclipse中新建一个要测试的项目HelloJUnit 3. 添加一个要测试的类HelloJUnit,代码如下,注意需要先建package ...