基本使用
查询操作
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 时间比较
关于“Thinkphp5.0对数据库的操作方法有哪些”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Thinkphp5.0对数据库的操作方法有哪些”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。
文章标题:Thinkphp5.0对数据库的操作方法有哪些,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/29823