thinkphp数据查询方法总结select ,find,getField,query

摘要:
thinkphp已经封装好了常用的查询方法,且都比较实用,对于不常用的查询框架也保留了原始查询方法query。
thinkphp已经封装好了常用的查询方法,且都比较实用,对于不常用的查询框架也保留了原始查询方法query。
1
2
$Model=newModel()//实例化一个model对象没有对应任何数据表
$Model->query("select*fromthink_userwherestatus=1");

如果刚学Thinkphp对框架不太了解可以用query($sql) 和 execute($sql) 两个方法可以实现任何的sql操作query用于查询操作,execute用于非查询操作。但是框架已经封装好了常用的方法,且用起来更方便。

下面是最常用的查询方法:

1.select()

1
2
3
4
5
6
7
8
9
10
11
12
//将所有数据查出,失败返回false,无结果返回null
$user=M('demo');
$data=$user->select();
dump($data);
//加入条件
$user->field('name,sex')->where('id>2')->order('age')->limit(3)->select();
//查询主键值为30的信息
$user->select('30');
//查询主键为21,23,27的值
$user->select('21,23,27');

2.find()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//查询出一条数据
$user=M('demo');
//失败返回false
if($data=$user->find()){
dump($data);
}
//加入where条件
$user=M('demo');
$data=$user->field('name,sex')->where('id>2')->find();
dump($data);
//返回一维数组
$data->find('30');
$manager->where("username='$username'andpassword='$password'")->find();

3.getField()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//获取列数据中的第一条
$user=M('demo');
$data=$user->getField('name');//默认第一个
//第二个参数位true则获取整列数据
$user->where("id=3")->getField('name',true);
//限制显示条数
$nickname=$User->where('status=1')->getField('nickname',8);
$nickname=$User->where('status=1')->limit(8)->getField('nickname',true);
//返回二维数组,键名为第一个
$nickname=$User->where('status=1')->getField('id,nickname,sex');
//使用连接符':'键名是id值,键值则是account:nickname连接组成的字符串
$result=$User->where('status=1')->getField('id,account,nickname',':');

还有详细的查询方法详见 ThinkPHP3.2手册中的 "模型>查询语句"章节。

免责声明:文章转载自《thinkphp数据查询方法总结select ,find,getField,query》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇安卓渗透和审计工具整理linux makefile字符串操作函数 替换subst、模式替换patsubst、去首尾空格strip、查找字符串findstring、过滤filter、反过滤filter-out、排序函数sort、取单词word、取单词串wordlist、个数统计words下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Mysql的变量一览

Server System Variables(系统变量) MySQL系统变量(system variables)是指MySQL实例的各种系统变量,实际上是一些系统参数,用于初始化或设定数据库对系统资源的占用,文件存放位置等等,这些变量包含MySQL编译时的参数默认值,或者my.cnf配置文件里配置的参数值。默认情况下系统变量都是小写字母。 作用域范围 系...

MySQL之SQL优化详解(二)

目录 MySQL之SQL优化详解(二) 1. SQL的执行顺序 1.1 手写顺序 1.2 机读顺序 2. 七种join 3. 索引 3.1 索引初探 3.2 索引分类 3.3 建与不建 4. 性能分析Explain (1)id:select查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序 (2) select_t...

一则 Oracle 和 SqlServer 语法区别 (原创)

Sql Server /Oracle--返回第一行数据SELECT TOP 1 * FROM TableName / SELECT * FROM TableName WHERE ROWNUM=1--返回前五行数据SELECT TOP 5 * FROM TableName/SELECT * FROM TableName WHERE ROWNUM <=...

oracle 存储过程的基本语法 及注意事项

oracle 存储过程的基本语法 1.基本结构CREATE OR REPLACE PROCEDURE 存储过程名字(    参数1 IN NUMBER,    参数2 IN NUMBER) IS变量1 INTEGER :=0;变量2 DATE;BEGIN END 存储过程名字2.SELECT INTO STATEMENT  将select查询的结果存入到变...

MYSQL分页查询偏移量过大的优化方案

前提: 出现这种问题的原因是因为mysql在进行分页的时候,并不知直接插rows的数据,而是把offset和rows的数据全部查出来,然后再将offset的数据扔掉,返回rows的数据; 第一种解决办法: symptom_id是主键,表里面221W数据 优化前####### 42s select * from symptom ORDER BY creat...

python 之 数据库(修改表、复制表、删除表、单表查询)

10.8 修改表、复制表、删除表 10.81 修改表 alter table 1. 修改表名 alter table表名 rename 新表名; 2. 增加字段 alter table 表名 add 字段名 数据类型 [完整性约束条件…]; alter table t1 add stu char(10) not nullafter name;...