thinkphp6.0学习笔记之数据库的数据查询

数据库的数据查询

一、单数据查询

1.Db::table()中table必须指定完整的数据表(包括前缀);
2.只查询一条数据:

Db::table()->where('id',1)->find();//如果没有查询到值,返回null
Db::getLastSql();//返回一条最近查询的SQL原生语句
输出结果:select *from 表名 limit 1;

2.还可以使用findOrFail()方法页可以查询到一条数据,在没有数据时抛出一个异常

Db::table('表名')->where('id',1)->findOrFail();

3.使用findOrEmpty()方法也可以查询一条数据,但在没有数据时返回一个空数组:

Db::table('表名')->where('id',1)->findOrEmpty();

二、数据集查询

1.用select获取多条数据:

Db::table('表名')->select();

2.多列数据在查询不到任何数据时返回空数组,使用selectOrFail()抛出异常;

$user = Db::table('tp_user')->select()->toArray();
 dump($user);

3.如果在数据库配置文件.env中设置了前缀,那么我们可以使用name()方法忽略前缀⭐

Db::name('user')->select();

三、其它查询

1.通过value()方法查询,可以指定字段的值(单个),没有数据返回null;

Db::name('user')->where('id', 27)->value('upass');//显示表中id为27的upass内容

2.通过colunm()方法,可以查询指定列的值(多个),可以指定id作为列值的索引,没有数据返回空数组:

Db::name('user')->column('username');

3.利用游标查询功能(大幅度减少海量数据的内存开销,利用php生成器特性,每次查询只读一行,然后再读取时,自动读取到下一行继续读取):
⭐(我return json($cursor)返回的是空数组,dump出来的东西看不懂)

$cursor = Db::table('')->cursor();
foreach($cursor as $user){
 dump($user); 
 }

本人发表的所有文章仅为自己学习和复习使用,谢谢!

你可能感兴趣的:(#,thinkphp6.0学习)