ThinkPHP_5对数据库的操作
Posted 高锴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP_5对数据库的操作相关的知识,希望对你有一定的参考价值。
Db::query();
Db::execute();
Db::table()->select(); 所有数据,二维数组,结果不存在时返回空数组
Db::table->find(); 一条数据,一维数组,结果不存在时返回NULL
Db::table->value(); 一条数据, 结果不存在时返回空
Db::table->column(); 返回一个一维数组;如果有第二个参数,返回以第二个数作为标识的数组,结果不存在时,返回NULL
Db::table()->... 表名加表前缀
Db::name()->.. 忽略表前缀
//添加数据 【数组】
Db::name()->insert();返回影响行数
Db::name()->insertGetId(); 获取最后的新增id
Db::name()->insertAll(); 插入全部数据
//更新数据库 【数组】
Db::name()->where()->update(); 返回影响行数
Db::name()->where()->setField(‘name‘,‘小米‘);更新数据的某一个字段 返回影响行数
Db:name()->where->setInc(‘num‘); num字段名每次自增1
Db:name()->where->setInc(‘num‘,5); num字段名每次自增5
Db::name()->where()->setDec(‘num‘); num字段每次自减
删除
Db::name()->where()->delete(); 返回影响行数
如果要删除的条件是主键,可以不写where
Db::name()->delete(1); 删除id=1的记录
条件构造器
Db::name()->where()->buildSql(); 返回sql语句
Db::name()->where("id=1")->buildSql(); 传递条件
Db::name()->where("id",1)->buildSql(); 传递字段名,和想使用的值
Db::name()->where("id","<>",1)->buildSql(); 字段名,表达式,想要判断的值
Db::name()->where(‘id‘,‘between‘,‘1,5‘)->buildSql(); id在1-5之间的,包括1和5
Db::name()->where([‘id‘=>1])->buildSql();
Db::name()->where([‘id‘=>[‘in‘,[1,2,3,4]]])->buildSql();
【两个条件是and的关系】
Db::name()->where(
[‘id‘=>1],
[‘name‘=>‘kaluo‘]
)->buildSql();
EXP 是条件表达式
Db::name()->where("id","EXP"," not in (1,2,3)")->buildSql();
【两个条件是or的关系】
Db::name()->where("id","in","1,2,3")->whereOr(‘name‘,‘buld‘)->buildSql();
where()里面是数组,是字符串,是参数
# 备注信息【字母会编译成后面的符号等】【条件不区分大小写】
# EQ =
# NEQ <>
# LT <
# ELT <=
# GT >
# EGT >=
# BETWEEN BETWEEN * AND *
# NOTBETWEEN NOT BETWEEN * AND *
# IN IN(*,*)
# NOTIN NO TIN(*,*)
表达式::
between
in
链式操作
Db::table()->where(‘id‘,‘>‘,10)->select(); 查询的表中的所有的字段
【field方法】
Db::table()->where(‘id‘,‘>‘,10)->field("name,id")->select(); 查询表中的name,id字段
【order方法】
Db::table()->where(‘id‘,‘>‘,10)->field("name,id")->order("id DESC")->limit(3,5)->select(); 查询表中的name,id字段,倒叙排序,从第三条开始取,取5条
【page方法】【page(2,5)从第二页开始,显示五条】
Db::table()->where(‘id‘,‘>‘,10)->field("name,id")->order("id DESC")->page(3,5)->select(); 查询表中的name,id字段,倒叙排序,从第三页开始取,取5条
【group分组】
Db::table()->where(‘id‘,‘>‘,10)->field("name,id")->group("`group`")->select(); 查询表中的name,id字段,以group分组
以上是关于ThinkPHP_5对数据库的操作的主要内容,如果未能解决你的问题,请参考以下文章
ThinkPHP3.2基础教程(19)--模型-CURD操作-数据创建