基本操作
- Db::table()中 table必须指定完整数据表(包括前缀);
如果希望只查询一条数据,可以使用find()方法;
Db::table('tp_user')->find();
Db::getLastsql()方法,可以得到最近一条SQL查询的原生语句;
SELECT * FROM 'tp_user' LIMIT 1
想指定数据查询,可以使用where()方法; ```php Db::table(‘tp_user’)->where(‘id’,27)->find()
select * from tp_user
where id
= 27 limit 1
5. 没有查询到任何值,则返回null;
5. 使用findorFail()方法同样可以查询一条数据,在没有数据时抛出一个异常;
```php
Db::table('tp_user')->where('id',1)->findOrFail()
使用findOrEmpty()方法也可以查询一条数据,但在没有数据时返回一个空数组;
Db::table('tp_user')->where('id',1)->findOrEmpty()
想要获取多列数据,可以使用select()方法; ```php Db::table(‘tp_user’)->select();
select * from tp_user
9. 多列数据在查询不到任何数据时返回空数组,使用selectorFail()抛出异常;
```php
Db::table('tp_user')->where ('id', 1) ->selectOrFail();
当在数据库配置文件中设置了前缀,那么我们可以使用name()方法忽略前缀;
Db::name ('user')->selectOrFail();
更多方式
ThinkPHP提供了一个助手函数db,可以更方便的查询;
\db('user')->select();
通过value()方法,可以查询指定字段的值(单个),没有数据返回null;
Db::name('user')->where('id',27)->value('username');
通过colunm()方法,可以查询指定列的值(多个),没有数据返回空数组;
Db::name('user')->column('username');
可以指定id作为列值的索引;
Db::name('user')->column('username','id');
数据分批处理、大批数据处理和JSON数据查询,当遇到具体问题再探讨;