Thinkphp6框架学习:有关数据库的基本操作
Posted yi2105
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Thinkphp6框架学习:有关数据库的基本操作相关的知识,希望对你有一定的参考价值。
本文将提到:
1.原生查询操作的读操作:query()
2.原生查询操作的写操作:insert/update/delete,execute()
3.查询构造器
4.where()函数:可以根据其他字段查询
5.order(),limit()函数
对于数据库的配置在框架中app\\config\\database.php中已经配置好了,所以下面将默认已经连接上了数据库
作为例子展示的数据表:
1.原生查询操作的读操作:query()
public function demo1() $sql = "SELECT `userName` FROM `admin` WHERE `id`=:id "; $map = [‘id‘ => 1]; $res = Db::query($sql, $map); dump($res);//打印查询结果$res
2.原生查询操作的写操作:insert/update/delete,execute()
public function demo2() $sql = "UPDATE `admin` SET `status`=:status WHERE `id`=:id "; $map = [‘id‘ => 1, ‘status‘ => 0]; $res = Db::execute($sql, $map); return ‘成功更新了‘.$res.‘条记录‘;
数据表中 id=1 的 status从1变为0
3.查询构造器
① find() : 返回满足条件的第一条记录,单条记录;无返回null
//table():设置数据表 //field():设置查询字段列表 public function demo3() $res = Db::table(‘admin‘) ->field(‘id, userName, phone‘) ->find(2);//支持将主键作为参数:WHERE `id` = 2 dump($res);
②select() : 返回满足条件的多条记录
public function demo4() $res = Db::table(‘admin‘) ->field(‘id, userName, phone‘) //注:select(2, 3)只返回第一条;select([2, 3])应放入数组中 ->select();//同上 dump($res);
4 . where()函数:可以根据其他字段查询
设置查询条件 主要类型:字符串,表达式,数组
(1)字符串
public function demo5() $res = Db::table(‘admin‘) ->field(‘id, userName, phone‘)//field()仅返回对应字段 //1.字符串 ->where(‘status > 0‘) ->select(); dump($res);
(2)表达式
public function demo5() $res = Db::table(‘admin‘) ->field(‘id, userName, phone‘)//field()仅返回对应字段 //2.表达式:推荐 ->where(‘id‘,‘between‘,[1,3])//参数格式:字段,操作符,值 ->select(); dump($res);
(3)数组
①关联数组:等值查询,AND
public function demo5() $res = Db::table(‘admin‘) ->field(‘id, userName, phone‘)//field()仅返回对应字段 // ①关联数组 ->where([‘id‘ => 1, ‘phone‘ => 123]) ->select(); dump($res);
打印sql语句看一下(在where()和select()中间插入下面代码)
->fetchSql(true)
②索引数组:批量查询
public function demo5() $res = Db::table(‘admin‘) ->field(‘id, userName, phone‘)//field()仅返回对应字段 //②索引数组 ->where([ // ‘0=>’ 索引值可以忽略,默认值 0 => [‘id‘,‘between‘,[1,3]], 1 => [‘status‘,‘>‘,0] ]) ->select(); dump($res);
5.order(),limit()函数
①单字段排序
//order(),limit() public function demo6() $res = Db::table(‘admin‘) ->field(‘id, userName, phone‘) //单字段排序 ->order(‘id‘, ‘desc‘)//默认升序asc,desc:降序 ->limit(2,2)//从第2行开始的2条数据,常用于分页查询 ->select(); dump($res);
②多字段排序,用数组参数
讲单字段排序中order()一行改为以下代码即可
->order([‘id‘=>‘asc‘, ‘phone‘=>‘desc‘])
以上是关于Thinkphp6框架学习:有关数据库的基本操作的主要内容,如果未能解决你的问题,请参考以下文章
基于thinkphp6 layui的优秀极速后台开发框架推荐