>首页> IT >

世界观点:聊聊Thinkphp 5.0 对数据库的操作(关键代码)

时间:2022-09-23 19:55:32       来源:转载
一个标准的网站一定离不开数据库的操作,在本套课程中我和你一起来揭开ThinkPHP5 数据操作的神秘面纱,和你一起愉快的使用 ThinkPHP5 操作数据库,让数据库操作变的更愉悦。

基本使用

查询操作


【资料图】

Db::query("select * from think_user where id=?",[8]);

写入操作

Db::execute("insert into think_user (id, name) values (?, ?)",[8,"thinkphp"]);

查询构造器

查询数据

find 返回一条记录,返回的结果是一个一维数组 如果结果不存在,返回NULL

Db::table("think_user")->where("id",1)->find();

select 返回所有记录,返回的结果是一个二维数组 如果结果不存在,返回一个空数组

Db::table("think_user")->where("status",1)->select();

助手函数

系统提供了一个db助手函数,可以更方便的查询:

db("user")->where("id",1)->find();db("user")->where("status",1)->select();

注意:使用db助手函数默认每次都会重新连接数据库,而使用Db::name或者Db::table方法的话都是单例的。db函数如果需要采用相同的链接,可以传入第三个参数,例如

db("user",[],false)->where("id",1)->find();db("user",[],false)->where("status",1)->select();

添加数据

使用 Db 类的 insert 方法向数据库提交数据

$data = ["foo" => "bar", "bar" => "foo"];Db::table("think_user")->insert($data);

添加多条数据

添加多条数据直接向 Db 类的 insertAll 方法传入需要添加的数据即可

$data = [    ["foo" => "bar", "bar" => "foo"],    ["foo" => "bar1", "bar" => "foo1"],    ["foo" => "bar2", "bar" => "foo2"]];Db::name("user")->insertAll($data);

insertAll 方法添加数据成功返回添加成功的条数

助手函数

// 添加单条数据db("user")->insert($data);// 添加多条数据db("user")->insertAll($list);

更新数据

update 方法返回影响数据的条数,没修改任何数据返回 0

Db::table("think_user")->where("id", 1)->update(["name" => "thinkphp"]);

更新某个字段的值: setField 方法返回影响数据的条数,没修改任何数据字段返回 0

Db::table("think_user")->where("id",1)->setField("name", "thinkphp");
自增或自减一个字段的值// score 字段加 1Db::table("think_user")->where("id", 1)->setInc("score");// score 字段加 5Db::table("think_user")->where("id", 1)->setInc("score", 5);// score 字段减 1Db::table("think_user")->where("id", 1)->setDec("score");// score 字段减 5Db::table("think_user")->where("id", 1)->setDec("score", 5);

延迟更新

Db::table("think_user")->where("id", 1)->setInc("score", 1, 10);

删除数据

// 根据主键删除Db::table("think_user")->delete(1);Db::table("think_user")->delete([1,2,3]);// 条件删除    Db::table("think_user")->where("id",1)->delete();Db::table("think_user")->where("id","<",10)->delete();

条件查询方法

where

可以使用where方法进行AND条件查询:

Db::table("think_user")    ->where("name","like","%thinkphp")    ->where("status",1)    ->find();

whereOr方法

Db::table("think_user")    ->where("name","like","%thinkphp")    ->whereOr("title","like","%thinkphp")    ->find();

混合查询

where方法和whereOr方法在复杂的查询条件中经常需要配合一起混合使用,下面举个例子:

$result = Db::table("think_user")->where(function ($query) {    $query->where("id", 1)->whereor("id", 2);})->whereOr(function ($query) {    $query->where("name", "like", "think")->whereOr("name", "like", "thinkphp");})->select();

查询表达式

查询表达式支持大部分的SQL查询语法,也是ThinkPHP查询语言的精髓,查询表达式的使用格式:

where("字段名","表达式","查询条件");whereOr("字段名","表达式","查询条件");
表达式 含义EQ、= 等于(=)NEQ、<> 不等于(<>)GT、> 大于(>)EGT、>= 大于等于(>=)LT、< 小于(<)ELT、<= 小于等于(<=)LIKE 模糊查询[NOT] BETWEEN (不在)区间查询[NOT] IN (不在)IN 查询[NOT] NULL 查询字段是否(不)是NULL[NOT] EXISTS EXISTS查询EXP 表达式查询,支持SQL语法> time 时间比较< time 时间比较between time 时间比较notbetween time 时间比较

【相关教程推荐:thinkphp框架】

以上就是聊聊Thinkphp 5.0 对数据库的操作(关键代码)的详细内容,更多请关注php中文网其它相关文章!

关键词: 查询条件 和你一起 相关文章