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分组

posted @ 2017-07-11 11:58  高锴  阅读(1127)  评论(0编辑  收藏  举报