ThinkPHP6获取数据库内所有表的表名及表信息
发表于:2022-08-18 09:51:01浏览:3311次
thinkphp6 如何获取数据表所有的表名及表信息?下面就给大家介绍简单实用的方法,对ThinkPHP6数据库表管理,获取数据库内所有表的信息,包括表名、引擎、行格式、数据量、数据大小、索引长度、修改时间、创建时间、注释等信息。
1、Controller控制器代码:
<?php
declare (strict_types = 1);
namespace app\admin\controller;
use app\BaseController;
use think\facade\Db;
use think\facade\View;
class Database
{
public function datadb()
{
$this->showdb('cms_gougucms',2);//调用函数
return View::fetch('datadb/database');
}
/**
* 数据表信息查询方法
* table_name 数据表名
* mode 查询模式 1:查询指定表信息(需要table_name) 2:查询所有表信息
* @return 返回数据表信息Array数组
*/
public function showdb($table_name,$mode=1)
{
if($mode==1){
//查询指定表信息
$table_info = Db::query('SHOW TABLE STATUS LIKE ' . "'" . $table_name . "'");
}
if($mode==2){
//查询所有表信息
$table_info = Db::query('SHOW TABLE STATUS');
}
//查询所有表名
//$table_list = Db::query('SHOW TABLES');
View::assign('table_info',$table_info);//模板变量赋值
}
}
2、模板文件的HTML代码,通过volist标签循环输出:
<div class="layui-card-body layui-table-body layui-table-main">
<table class="layui-table layui-form">
<thead>
<th>
<input type="checkbox" lay-filter="checkall" name="" lay-skin="primary">
</th>
<th>ID</th>
<th>表名</th>
<th>数据量</th>
<th>数据大小</th>
<th>创建时间</th>
<th>注释</th>
<th>备份状态</th>
<th>操作</th>
</thead>
<tbody>
{volist name="table_info" id="v"}
<tr>
<th>
<input type="checkbox" lay-filter="checkall" name="" lay-skin="primary">
</th>
<td>{$i}</td>
<td>{$v.Name}</td>
<td>{$v.Rows}</td>
<td>{$v.Data_length}B</td>
<td>{$v.Create_time}</td>
<td>{$v.Comment}</td>
<td class="info">备份未开始</td>
<td>
<a href="javascript:;" class="layui-btn layui-btn-xs optimiz" tables="tplay_admin">优化表</a>
<a href="javascript:;" class="layui-btn layui-btn-xs repair" tables="tplay_admin">修复表</a>
</td>
</tr>
{/volist}
</tbody>
</table>
</div>
ThinkPHP6获取数据库中某个表的所有字段名称。
$table_info = Db::query("show COLUMNS FROM admin");
结果:
推荐文章
- 开源免费的企业办公系统,勾股OA2.0发布
- 尝鲜,Windows 11默认壁纸下载,4K分辨率哦
- layui上传插件使用exts属性指定上传文件的后缀名,并过滤掉其他格式的文件(格式过滤)
- 国民APP微信内测新功能:朋友圈内容可转发给好友
- 用Prismjs给勾股博客的文章模块增加代码高亮功能
- Nginx + PHP 搭建的服务器发现POST数据无法提交或数据被截断的解决方案
- 韦伯空间望远镜飞行软件采用 C++ 编写、内置定制的JS解释器
- PHP将透明图片(PNG)合并到JPG背景图片上,实现PNG透明的效果
- 四行JavaScript代码实现禁止复制网站内容
- 码云(gitee)配置git禁止直接提交到master分支的方法