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架构设计模式——前端MVVM框架设计及实现(一)
前端MVVM框架设计及实现(一) 最近抽出点时间想弄个dom模块化的模板引擎,不过现在这种都是MVVM自带的,索性就想自己造轮子写一个简单的MVVM框架了 借鉴的自然还是从正美的avalon开始了,我 ...
- js原生设计模式——4安全的工厂方法模式之oop编程增强版
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- 使用ActionBar实现Tab导航
ActionBar还有常用的功能,实现Tab导航.ActionBar在顶端生成多个Tab标签,当用户单击点击某个Tab标签时,系统根据用户点击事件导航指定Tab页面. 为了使用ActionBar实现T ...
- JSP/Servlet(一)
JSP/Servlet(一) Web应用和web.xml文件: 一.构建Web应用: 1.在任意目录下创建一个文件夹. 2.在第1步所建的文件夹内建一个WEB-INF文件夹(注意大小写). 3.进 ...
- HttpSesstionActivationLIstener示例
HttpSesstionActivationLIstener示例: http://www.cnblogs.com/xdp-gacl/p/3969249.html 钝化的session会已session ...
- NetStream.appendBytes, 走向Flash P2P VOD的第一步
之前被告知可以自行实现Flash p2p的点播功能, 但一直疑惑, 印象中NetStream并未提供相关方法, 前天看订阅时发现的文章: ByteArray Access to NetStream i ...
- 在Eclipse中提交SVN项目的时候注意提交项目信息
提交项目的时候,注意提交.classpath,.project和.settings文件夹: 这些是项目的信息,别人下载的时候才能正确显示为Eclipse项目:
- Canvas 颜色反转
ImageData中的元素反转颜色 255-data[i,i+1,i+2] <!DOCTYPE html> <html lang="en"> <hea ...
- JTable 的使用
JTable是Swing编程中的一种控件. 一.创建表格控件的各种方式:1) 调用无参构造函数. JTable table = new JTable(); 2) 以表头和表数据创建表格. Object ...
- [CSS3]学习笔记-文字与字体相关样式
1.给文字添加阴影 <!doctype html> <html> <head> <meta charset="utf-8"> < ...