<?php
/**
* Created by PhpStorm.
* Date: 2017/6/2
* Time: 17:08
*/
class Dao extends Controller
{
//注意:涉及到表名要用{{表名}}才能自动加上表前缀
//执行原生语句
public function actionSql()
{
$res = Yii::app()->db->createCommand($sql)->execute();//返回影响条数
//使用createCommand()操作数据库对象时,数据库返回的结果是数组
createCommand($sql)->queryRow();//$sql 原生 sql语句//返回单条
CreateCommand($sql)->queryAll();//返回集合
}
//插入
public function actionCreate()
{
$res = Yii::app()->db->createCommand()->insert('表名', ['字段名' => '值']);
Yii::app()->db->getLastInsertID();//获取最新插入的ID
}
//修改
public function actionUpdate()
{
$res = Yii::app()->db->createCommand()->update('表名', ['字段名' => '值'], '字段名 > :值', [':值' => '值']);
}
//删除
public function actionDelete()
{
$res = Yii::app()->db->createCommand()->delete('表名', '字段名 = :值', [':值' => '值']);
}
//查单条
public function actionRow()
{
$res = Yii::app()->db->createCommand()->select('字段名,字段名')->from('表名')->where('字段名 = :值', [':值' => '值'])->queryRow();
}
//查多条
public function actionAll()
{
$res = Yii::app()->db->createCommand()->select('字段名,字段名')->from('表名')->where('字段名 > :值', [':值' => '值'])->queryAll();
}
//统计数据 数量
public function actionScalar()
{
$res = Yii::app()->db->createCommand()->select('count(字段名)')->from('表名')->where('字段名 < :值', [':值' => '值'])->queryScalar();
}
//指定列查询 id
public function actionColumn()
{
$res = Yii::app()->db->createCommand()->select('id')->from('表名')->where('字段名 > :值', [':值' => '值'])->queryColumn();
}
//复杂查询方式
public function actionAnd()
{
//查询ID 大于 1 并且 小于 5 的所有数据集合
//and() 字串形式
$res = Yii::app()->db->createCommand()->select('字段名,字段名')->from('表名')->where('字段名1 > :值1 and 字段名1 < :值2', [':值1' => '值1', ':值2' => '值2'])->queryAll();
//and() 数组形式
$res = Yii::app()->db->createCommand()->select('字段名,字段名')->from('表名')->where(['and', '字段名1 > 值1', '字段名1 < 值2'])->queryAll();
//andWhere() 方法
$res = Yii::app()->db->createCommand()->select('字段名,字段名')->from('表名')->where('字段名 > :值', [':值' => '值'])->andWhere('字段名 < :值', [':值' => '值'])->queryAll();
}
//使用in 查询出 ID 在 5 和 6 之间的数据集合
public function actionIn()
{
$res = Yii::app()->db->creatCommand()->select('字段名,字段名')->from('表名')->where('in', '字段名ID', [5, 6])->queryAll();
}
//使用like 查询 并且 id 大于6 小于 10
public function actionLike()
{
$res = Yii::app()->db->createCommand()->select('字段名,字段名')->from('表名')->where(['like', '字段名', '%关键字%'])->andWhere(['and', 'id > 6', 'id < 10'])->queryAll();
}
//查询出名字里 带有关键字的 的三条数据 ID 倒序 略过3条数据
public function actionLimit()
{
$res = Yii::app()->db->createCommand()->select('字段名,字段名')->from('表名')->where(['like', 'name', '%关键字%'])->limit(3)->offset(3)->order('id desc')->queryAll();
}
//关联查询
public function actionJoin()
{
//查询 ID 大于2 小于6 的所有用户信息 并查询 城市名称
$res = Yii::app()->db->createCommand()->select('u.id,u.name,c.name')
->from('表1 u')
->join('表2 c', 'c.id = u.cid')
->where('u.id > 2')
->andWhere('u.id < 6')
->queryAll();
}
}
yii 框架Dao 数据操作用法
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- pragma mark Predicate 的通配 pragma mark Predicate 字符串相关:BEG...
- 关于学习使用FMDB,除了笔者整理的官方文档翻译版,更重要的是实践和代码练习。笔者曾查阅过FMDB示例用法的一些文...
- 除了FMDB,Realm也是一种很流行的数据库方案。 1. 官方资料 (最新版)Realm Objective‑C...