马春杰杰博客
致力于深度学习经验分享!

Typecho数据库常用API

最新目录

表创建和删除

在Typecho插件开发过程中,往往需要创建自己的表。上文提到Typecho_Db类中的query函数,可用于执行所有sql语句,因此我们使用query()来进行表的创建、修改或者删除。

注意,使用query方式创建表的时候,需要在表明前手动添加$prefix前缀,否则在后面的使用过程中会造成困惑。
还可以使用table.来代替$prefix,typecho会自动识别并替换成指定的前缀。

同理,修改或者删除Typecho数据库中表,按照同样的方式调用query即可。

数据查询

1. select,查询表数据

select语句是可以说Typecho插件开发中最常用的sql调用。

说明:
typecho中,.号具有特定的意义,这里table.metas表示这是一个metas表。实际上,typecho是自动将table.的字符使用str_replace替换成了config.inc.php中设定的前缀。

举例:
a. $db->select()->from('table.metas');将生成SELECT * FROM typecho_metas WHERE (mid= '2' ),其中typecho_是表前缀;
b. 而$db->select()->from('metas');将生成SELECT * FROM metas WHERE (mid= '2' ),注意这里没有了表前缀。

指定表字段查询
有时为了提高查询性能,需要指定查询表中特定的几个字段,那么可以使用下面的方式:

如果联合查询中,两个表存在相同的字段名,那么可以使用table.来指定表名:

指定查询条件
指定SQL查询的where语句,是最常用的api调用。

如需要指定多个查询条件,直接多次调用where即可,将生成and关系的where条件

使用OR关系的查询条件
可以使用orWhere()函数来指定SQL查询的或条件。

指定查询范围
在需要分页的场景下,分页是必需的操作。offset()和limit()分别用于指定起始位置和结束位置,即指定查询范围。

Typecho中,还提供了一种简写的方法,见page()函数。

对查询结果进行排序
在Typecho中,使用order()函数和Typecho_Db::SORT_DESC指定查询结果的排序方式。

Tips: Typecho_Db::SORT_ASC 表示升序排序,Typecho_Db::SORT_DESC表示降序排序

联合查询
联合查询是SQL的常用语法,在Typecho中,同样使用内置函数join()方便地进行联合查询。

2. update,更新表数据

Typecho中,使用update()函数来进行更新表操作。但注意,update操作,需要借助于query执行。

3. insert,插入数据

Typecho中,使用insert()函数来进行表插入操作。同样,insert操作需要借助于query函数。

4. delete,删除数据

Typecho中使用delete()函数来删除数据表中的行。delete操作用于删除数据表中指定的行,同样需要借助query函数执行。

数据库调试

查看查询语句

在Typecho调试过程中,打印sql语句往往是很有帮助的。对于大于5.2版本的php,直接echo $query即可,对于小于5.2版本,则需要显式调用__toString()函数

 

赞(347) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Typecho数据库常用API》
文章链接:https://www.machunjie.com/web/webjiaocheng/892.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

:smile: :sad: :arrow: :cool: :confused: :cry: :eek: :evil: :exclaim: :idea: :lol: :mad: :mrgreen: :neutral: :question: :razz: :redface: :rolleyes: :surprised: :wink: :biggrin: :twisted: