基本使用
查询操作Db::query('select * from think_user where id=?',[8]);登录后复制写入操作Db::execute('insert into think_user (id, name) values (?, ?)',[8,'thinkphp']);登录后复制查询构造器查询数据find 返回一条记录,返回的结果是一个一维数组 如果结果不存在,返回NULLDb::table('think_user')->where('id',1)->find();登录后复制select 返回所有记录,返回的结果是一个二维数组 如果结果不存在,返回一个空数组立即学习“PHP免费学习笔记(深入)”;点击下载“C盘瘦身工具,一键清理C盘”;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 方法返回影响数据的条数,没修改任何数据返回 0Db::table('think_user')->where('id', 1)->update(['name' => 'thinkphp']);登录后复制更新某个字段的值: setField 方法返回影响数据的条数,没修改任何数据字段返回 0Db::table('think_user')->where('id',1)->setField('name', 'thinkphp');登录后复制自增或自减一个字段的值
// score 字段加 1
Db::table('think_user')->where('id', 1)->setInc('score');
// score 字段加 5
Db::table('think_user')->where('id', 1)->setInc('score', 5);
// score 字段减 1
Db::table('think_user')->where('id', 1)->setDec('score');
// score 字段减 5
Db::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对数据库的操作方法有哪些的详细内容,更多请关注php中文网其它相关文章!
91资源网站长-冰晨2024-08-27 17:15
发表在:【账号直充】爱奇艺黄金VIP会员『1个月』官方直充丨立即到账丨24小时全天秒单!不错不错,价格比官方便宜
91资源网站长-冰晨2024-08-27 16:15
发表在:2022零基础Java入门视频课程不错,学习一下