thinkphp数据库操作举例

源码技巧9年前 (2016-07-06)13500

首先来演示一下查询方法:

$db->table('user')->limit(10)->order('id desc')->select();

相当于执行下面的sql语句,并返回二维数组。

SELECT * FROM `hoho_user` ORDER BY id desc LIMIT 10

 

$where['user_name'] = array('like','%ly%');

$where['credit'] = array('gt',100);

$db->table('user')->where($where)->limit(10)->select();

相当于执行下面的sql语句,并返回二维数组。

SELECT * FROM `hoho_user` WHERE ( `user_name` LIKE '%ly%' ) AND ( `credit` > 100 ) LIMIT 10

 

$where['credit'] = array(array('gt',100),array('eq',0),'or');

$db->table('user')->where($where)->limit(10)->select();

相当于执行下面的sql语句,并返回二维数组。

SELECT * FROM `hoho_user` WHERE ( (`credit` > 100) OR (`credit` = 0) ) LIMIT 10

 

 

$db->table('user')->where('id=2')->find();

相当于执行下面的sql语句,并返回一维数组。

SELECT * FROM `hoho_user` WHERE id=2 LIMIT 0,1

 

再来看看更新语句:

$where['user_name'] = 'lyly';

$data['credit'] = 100;

$db->table('user')->data($data)->where($where)->update();

相当于执行下面的sql语句,并返回影响行数。

UPDATE `hoho_user` SET `credit`=100 WHERE ( `user_name` = 'lyly' )

 

$where['credit'] = array('elt',100);

$data['credit'] = array('exp','credit+1');

$db->table('user')->data($data)->where($where)->update();

相当于执行下面的sql语句,并返回影响行数。

UPDATE `hoho_user` SET `credit`=credit+1 WHERE ( `credit` <= 100 )

 

再来看看新增语句:

$data['user_name'] = 'hoho';

$data['credit'] = 100;

$db->table('user')->data($data)->insert();

相当于执行下面的sql语句,并返回自增ID。

INSERT INTO `hoho_user` (`user_name`,`credit`) VALUES ('hoho',100)

 

最后看看删除语句:

$where['credit'] = 0;

$db->table('user')->where($where)->delete();

相当于执行下面的sql语句,并返回影响行数。

DELETE FROM `hoho_user` WHERE ( `credit` = 0 )


发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。