企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 数据库操作 数据库组件用于完成数据库、表、记录的管理。 登录 [GITHUB](https://github.com/this7/sql) 查看源代码 - [表信息](#_10) - [获取表字段信息](#_11) - [获取数据库大小](#_12) - [获取表大小](#_13) - [获所有表信息](#_14) - [检测表是否存在](#_15) - [测表字段是否存在](#_16) - [表维护](#_17) - [修复表](#_18) - [优化表](#_19) - [锁表](#_20) - [解锁表](#_21) - [清空表](#_22) - [删除表](#_23) - [删除字段](#_24) - [执行多条SQL语句](#SQL_25) ## 表信息 #### 获取表字段信息 获取user表的所有字段 ``` sql::getTableFieldLists('user'); //获取user表的所有字段 ``` #### 获取数据库大小 获得当前数据库大小即所有表碎片、数据、索引之和 ``` sql::getDataBaseSize(); ``` #### 获取表大小 获得 news 表大小,包含表碎片、数据、索引之和 ``` sql::getTableSize('news'); ``` #### 获所有表信息 获得当前数据库的所有表信息 , 数据大小包括碎片、数据、索引 ``` sql::getAllTableInfo('test') ``` #### 检测表是否存在 ``` sql::tableExists('comment'); ``` #### 测表字段是否存在 ``` sql::fieldExists('title','news'); #检测 news 表是否存在 title 字段 ``` ## 表维护 #### 修复表 ``` sql::repair('user'); ``` #### 优化表 ``` sql::optimize('user'); ``` #### 锁表 ``` sql::lock('ticket_record,ticket,member'); //多个表用半角逗号分隔 Schema::lock('user as u,member as m'); //锁定具有设置表前缀的表,多用在多表关联操作时 ``` #### 解锁表 ``` sql::unlock(); ``` #### 清空表 ``` sql::truncate('user'); ``` #### 删除表 ``` sql::drop('news'); ``` #### 删除字段 ``` sql::dropField('news','aid'); //删除news表中的aid字段 ``` #### 执行多条SQL语句 ``` $sql = <<<EOF CREATE TABLE `hd_core_attachment` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uid` int(11) NOT NULL COMMENT '会员id', `filename` varchar(300) NOT NULL COMMENT '文件名', `path` varchar(300) NOT NULL COMMENT '相对路径', `type` varchar(10) NOT NULL DEFAULT '' COMMENT '类型', `createtime` int(10) NOT NULL COMMENT '上传时间', `size` mediumint(9) NOT NULL COMMENT '文件大小', `user_type` tinyint(1) DEFAULT NULL COMMENT '1 管理员 0 会员', PRIMARY KEY (`id`), KEY `uid` (`uid`) ) ENGINE=MyISAM AUTO_INCREMENT=28 DEFAULT CHARSET=utf8 COMMENT='附件'; CREATE TABLE `hd_rule` ( `rid` int(10) unsigned NOT NULL AUTO_INCREMENT, `siteid` int(10) unsigned NOT NULL COMMENT '站点编号', `name` varchar(45) DEFAULT NULL COMMENT '规则名称', `module` varchar(45) DEFAULT NULL COMMENT '模块名称', `rank` tinyint(3) unsigned DEFAULT NULL COMMENT '排序', `status` tinyint(1) unsigned DEFAULT NULL COMMENT '是否禁用', PRIMARY KEY (`rid`), KEY `fk_hd_rule_hd_site1_idx` (`siteid`) ) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='回复规则'; EOF; Schema::sql($sql); ```