ThinkPhp框架的数据库操作(查询)
TP框架有一套自己的数据库操作的代码,包括数据库的增、删、改、查。本文主要讲解TP框架的数据库查询操作。
找到入口文件的控制器:

我这里的入口文件是Show文件夹下的控制器。
打开Login控制器。

代码写在index方法中。
数据库的定义方式有三种。
前两种要写模型函数,最后一种不需要。
模型的例子(放在Model文件夹下,名字与类名相同,本例的名字:UserModel.class.php)
<?php
namespace Admin\Model;
use Think\Model;
class UserModel extends Model
{ }
方法一:
$user = new \Admin\Model\UserModel(); //表名为user,大小写一致。
$at = $user->select(); //查询此表的所有数据。
var_dump($at); //显示数据
显示结果:

方法二:
$user= D("user");
$at = $user->select();
var_dump($at);
此方法可自动找到此命名空间中的对应模型,效果与第一种相同。
方法三(此方法不用创建模型文件,自动造模型):
$user= M("user"); //自动造模型
$at = $user->select();
var_dump($at);
效果与以上两种相同。
数据库查找:
首先造模型:
$user= M("user");
查询数据(所有):
$at = $user->select();
var_dump($at);
查一条数据:
$at = $user->find("admin"); //根据主键值admin查找一条数据
var_dump($at);
结果:

只会显示一条数据。
条件查询:
$at = $user->where("uid='admin'")->select(); //查找uid为admin的数据
var_dump($at);
结果:

切换数据表:
$at = $user->table("nation")->select(); //切换表名为nation的表进行操作。
选择操作的字段:
$at = $user->field("uid,name,pwd")->select(); //只显示uid,name,pwd字段
var_dump($at);

排序:
$at = $user->order("code desc")->select(); //根据code降序排列
var_dump($at);

分页:
$at = $user->limit("4,2")->select(); //跳过四条数据,显示接下来的两天数据。
$at = $user->page("3,2")->select(); //每页两条数据,显示第3页。
分组:
//根据classcode分组,查询每组code最大的数据。
$at = $user->field("max(code)")->group("classcode")->select();
var_dump($at);

//根据classcode分组,查询每组code最大且大于2017000000的数据。
$at = $user->field("max(code)")>group("classcode")>having("max(code)>2017000000")->select();
var_dump($at);

连接查询:
$at = $user->field("user.code as '代号', user.name as '姓名',nation.name as '班级'")->join("nation on user.code=nation.code")->select();
注意:
user.code as '代号', user.name as '姓名',nation.name as '班级' 是一定要写的,不然会出现查询字段显示不匹配。
去重:
$at = $user->distinct(true)->field("pwd")->select();
var_dump($at);

ThinkPhp框架的数据库操作(查询)的更多相关文章
- ThinkPHP框架模型连贯操作(八)
原文:ThinkPHP框架模型连贯操作(八) Thinkphp的连贯操作使用起来也是很灵活: *可能这里有的mysql函数没全部罗列出来,大家可以举一反三,形式雷同 一.常用连贯操作 1.where ...
- ThinkPhp框架对“数据库”的基本操作
框架有时会用到数据库的内容,在"ThinkPhp框架知识"的那篇随笔中提到过,现在这篇随笔详细的描述下. 数据库的操作,无疑就是连接数据库,然后对数据库中的表进行各种查询,然后就是 ...
- PHP之ThinkPHP框架(数据库)
PHP是网站后台开发语言,其重要的操作对象莫过于数据库,之前有了解过mysqli和pdo,但ThinkPHP的数据库交互必须使用其特定的封装方法,或者可以认为其是对PHP数据库操作的进一步封装,以达到 ...
- java之Hibernate框架实现数据库操作
之前我们用一个java类连接MySQL数据库实现了数据库的增删改查操作---------MySQL篇: 但是数据库种类之多,除了MySQL,还有Access.Oracle.DB2等等,而且每种数据库语 ...
- 018.CI4框架CodeIgniter数据库操作之:Delete删除一条数据
01. 在Model中写数据库操作语句,代码如下: <?php namespace App\Models\System; use CodeIgniter\Model; class User_mo ...
- 017.CI4框架CodeIgniter数据库操作之:Updata更新修改一条数据
01. 在Model中写入数据库操作的代码如下: <?php namespace App\Models\System; use CodeIgniter\Model; class User_mod ...
- 015.CI4框架CodeIgniter数据库操作之:Query带参数查询数
01.我们在Models中写数据库的操作.具体的查询代码如下: <?php namespace App\Models\System; use CodeIgniter\Model; class U ...
- Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法 'AR模式']
public function getMinLimit () { $sql = "..."; $result = yii::app()->db-& ...
- 014.CI4框架CodeIgniter数据库操作之:查询数据库,并让数据以对象的方式返回查询结果
01. 我们在CI4框架中的Model文件夹新建一个User_model.php的文件,使用的是getResultArray,表示并让数据以数组的方式返回查询结果,代码如下: <?php nam ...
随机推荐
- js原生设计模式——4安全的工厂方法模式之oop编程增强版
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- SVN官方版本下载地址
TortoiseSVN 客户端 & Language packs 语言包 : https://tortoisesvn.net/downloads.html VisualSVN 插件官方地址: ...
- Could not execute auto check for display colors using command /usr/bin/xdpyinfo.(
Steps to resolve this issue: 1) login into root user( su -l root) 2) execute this command : xhost +S ...
- datatable 使用详细说明
要注意的是,要被dataTable处理的table对象,必须有thead与tbody,而且,结构要规整(数据不一定要完整),这样才能正确处理.以下是在进行dataTable绑定处理时候可以附加的参数: ...
- puppet的配置清单书写
puppet的配置清单书写 1使用数组,合并同类的 例如你想安装很多软件,如果分开来写的话,很麻烦,不简洁,这时我们可以使用数组来完成 以前我们这样来写 class packages{ package ...
- mac下sublime 配置使用markdown
Sublime Text作为一个优秀的文本编辑器,拥有很多的扩展插件.我们可以利用这些插件为Sublime Text 增加扩展的功能.mac常用编辑器强烈推荐sublime,当前出到Sublime T ...
- vue.js环境搭建
安装 nodejs 地址 :https://nodejs.org/en/ npm安装最新版本 更新npm :npm update -g 安装淘宝镜像 npm install -g cnpm --reg ...
- android:在ViewPager中使用Button
最近在项目用用到ViewPager ,其中页面包含有Button,因为之前也有使用个ViewPager ,所以这个也照搬之前的方式,测试后发现点击button无法执行,这个button是在第一页面的默 ...
- 光荣与梦想 | XMove动作捕捉系统(一)
XMove是我和几个死党从2010年开始开发的一套人体动作捕捉系统,软硬件全部自行开发,投入了大量的精力,历经三年,发展四个版本. 今年春节回到老家,翻出了2011年春节时焊电路用过的松香和和硬盘角落 ...
- sqlcmd命令导入大容量的SQL本地文件至SQL server 2008
由于开发工作在测试环境,需要构造测试数据,经常遇到100+M大小的*.sql文件需要导入到测试库的情况,由于SSMS里对导入文件的大小有限制: 会出现上图的报错!上网查了下,超过80M的文件是不能在S ...