thinckPHP CURD(增改查删)

模型的使用

$m = new Model('User');//$m = M('User')等同于 new Model,User是表名,U要大写,跟数据库大小写无关
$m->select();


使用模型的实例可以对数据进行操作,操作的工作一般就是对数据库进行增删改查 CURD

增 -C Create $m->add()
$m = M('User');
$m->user_name="绿";
$m->age="50";
$m->money="45";
$id = $m->add();//返回的是添加数据的id

//INSERT INTO `tt_user` (`user_name`,`age`,`money`) VALUES ('绿',50,'45');
删 -D Delete $m->delete()
$id = $m->delete(4);
//DELETE FROM `tt_user` WHERE `id` = 8;
$id = $m->where('money=30')->delete();//带条件使用where()
//DELETE FROM `tt_user` WHERE `money` = 30;

改 -U Updata $m->save()
$m = M('User');
$data[id]='4';
$data[user_name]="卢俊";
$data[money]="79";
$id = $m->save($data);//返回值是受影响行数

//UPDATE `tt_user` SET `user_name`='卢俊',`money`='79' WHERE `id` = 4;

查 -R Read $m->select()

一、普通查询

a.字符串查询

$arr = $m->select();
//SELECT * FROM `tt_user`;
$arr = $m->find(2);//只可以查询单条数据
//SELECT * FROM `tt_user` WHERE `id` = 2;
$arr = $m->where('age=50')->getField('user_name');//查询单个字段
//SELECT `user_name` FROM `tt_user` WHERE ( age=50 );
$arr = $m->where('age between 31 and 49')->select();
//SELECT * FROM `tt_user` WHERE ( age between 31 and 49 )

b.数组查询

$data[age]=50;
$data[user_name]='绿俊';
$data[_logic]='or';//默认是and,如果使用or关系,需要添加数组值
$arr = $m->where($data)->select();
//SELECT * FROM `tt_user` WHERE `age` =50 OR `user_name` = '绿俊'

二、表达式查询方式

1.大小等于
$data[age]=array('GT','30');
//SELECT * FROM `tt_user` WHERE `age` > '30';
$arr = $m->where($data)->select();
EQ等于
NEQ不等于
GT大于
EGT大于等于
LT小于
ELT小于等于

2.LIKE 模糊查询
$data[user_name]=array('like','%张');
$arr = $m->where($data)->select();
//SELECT * FROM `tt_user` WHERE (`user_name` LIKE '%张');
NOTLIKE 模糊反向查询,NOTLIKE中间没有空格
$data[user_name]=array('notlike','%张');
$arr = $m->where($data)->select();
//SELECT * FROM `tt_user` WHERE (`user_name` NOTLIKE '%张');
注意:一个字段要匹配多个通配符
$data[user_name]=array('like',array('%张','晶%'),'and');//默认关系是or,可以通过设置第三个参数改变
$arr = $m->where($data)->select();
SELECT * FROM `tt_user` WHERE (`user_name` LIKE '%张' AND `user_name` LIKE '晶%');

3.BETWEEN 范围查询
$data[age]=array('between',array('31','49'));
//SELECT * FROM `tt_user` WHERE `age` BETWEEN '31' AND '49';
$data[age]=array('not between',array('31','49'));//使用not between 一定要空格
//SELECT * FROM `tt_user` WHERE `age` NOT BETWEEN '31' AND '49';

4.IN 选择查询   NOT IN
$data[user_name]=array('in',array('张三','晶晶'));
//SELECT * FROM `tt_user` WHERE `user_name` IN ('张三','晶晶');

三、区间查询

$data[age]=array(array('GT','30'),array('LT','50'));//默认关系是and ,可以通过设置第三个产生改变
//SELECT * FROM `tt_user` WHERE ( `age` > '30' AND `age` < '50'  );

四、统计查询

1.avg 获取平均数
$data[id] = array('GT','3');
$arr = $m->where($data)->avg('money');
//SELECT AVG(money) AS tp_avg FROM `tt_user` WHERE `id` > '3'
2.count 获取个数
3.max 获取最大数
4.min 获取最小数
5.sum 获取总数

五、SQL直接查询

$mm = M();
1.query主要来用处理读取数据的  成功返回结果集,失败返回  false
$arr = $mm->query("select * from tt_user");
2.execute主要来用处理写入数据的  成功返回影响行数,失败返回0
$arr = $mm->execute("insert into tt_user (user_name,age,money) values ('兰焜','30','40000')");





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值