文档章节

yii2.0 curd操作数据写法

o
 osc_6ogjsu3t
发布于 2019/03/04 17:23
字数 449
阅读 539
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

一、执行原生sql查询,创建yii\db\Command         insert(),update(),delete()直接构建,相应的sql语句

查:

1.查询一条
\Yii::$app->db->createCommand('SELECT * FROM test')->queryOne();

2.查询多条
\Yii::$app->db->createCommand('SELECT * FROM test')->queryAll();

3.绑定单个防SQL注入参数
\Yii::$app->db->createCommand('SELECT * FROM test WHERE id=:id')->bindValue(':id',5)->queryOne();

4.绑定多个防SQL注入参数
\Yii::$app->db->createCommand('SELECT * FROM test WHERE id=:id AND name=:name')->bindValues([':id'=>3,':name'=>'Tom'])->queryOne();

5.统计查询
\Yii::$app->db->createCommand('SELECT COUNT("id") FROM test')->queryScalar();

 增:

1.插入数据
\Yii::$app->db->createCommand()->insert('test',['name'=>'James','age'=>'22'])->execute();

2.一次插入多行
\Yii::$app->db->createCommand()->batchInsert('test',['name','age'],[
        ['Hong','33'],
        ['Wei','44']
    ])->execute();

 改:

修改数据
\Yii::$app->db->createCommand()->update('test',['name'=>'Li'],'id=:id and class=:class',[':id'=>1,':class'=>'E'])->execute();

删:

删除数据
\Yii::$app->db->createCommand()->delete('test','id>:id',[':id'=>6])->execute();

 

二、查询构建器,创建yii\db\Query

查:

1.查询一条
$row = (new \yii\db\Query())
    ->select('*')
    ->from('test')
    ->where('id=:id', [':id'=>6])
    ->one();

2.查询多条
$rows = (new \yii\db\Query())
    ->select('id,name')
    ->from('test')
    ->where(['>','id', 2])
    ->andWhere('class=:class', [':class'=>'A'])
    ->all();

3.统计查询
$count = (new \yii\db\Query())
    ->select('count(id)')
    ->from('test')
    ->where('class=:class', [':class'=>'B'])
    ->count();

4.关联查询
$join = (new \yii\db\Query())
    ->from('student s')
    ->select('s.*,t.id t_id,t.name t_name')
    ->leftJoin('teacher t','s.class = t.class')
    ->where('t.id=:t_id', [':t_id' => '2'])
    ->offset(3)
    ->limit(2)
    ->all();

 

三、建模ORM 

插入数据
$add = new Test();
$add->name = 'Xing';
$add->class = 'B';
$add->save();

查:

1.查询一条
$row = Test::find()->where('id=:id',[':id'=>5])->asArray()->one();

2.查询多条
$rows = Test::find()->where('id>:id and class=:class',[':id'=>12,':class'=>'C'])->asArray()->all();

3.统计查询
$count = Test::find()->count();

改:

1.save()进行修改
$update = Test::find()->where('id=:id',[':id'=>6])->one();
$update->score = 100;//修改属性值
$update->save();

2.方法updateAll()
$updateAll = Test::updateAll(['name'=>'Ping'],'id=:id',[':id'=>10]);

删:

1.先查后删
$del = Test::find()->where('id=:id',[':id'=>6])->one();
$del->delete();

2.直接删除
Test::deleteAll('id>:id', [':id' => 29]);

 

o
粉丝 0
博文 499
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
代码生成器--Codgen

Codgen是一个基于数据库元数据模型,使用freemarker模板引擎来构建输出的代码生成器。freemarker的数据模型结构通常来说都是一个Map树状结构模型,codgen也不例外,它的数据模型这棵树的根节...

黄天政
2013/01/29
1.4W
2
开源数据访问组件--Smark.Data

Smark.Data是基于Ado.net实现的数据访问组件,提供基于强类型的查询表达式进行灵活的数据查询,统计,修改和删除等操作;采用基于条件驱动的操作模式,使数据操作更简单轻松;内部通过标准SQL...

泥水佬
2013/03/12
2.6K
0
数据中心生命周期管理--Foreman

Foreman是一个集成的数据中心生命周期管理工具,提供了服务开通,配置管理以及报告 功能,和Puppet Dahboard一样,Foreman也是一个Ruby on Rails程序.Foreman和 Dashboard不同的地方是在于,Fore...

匿名
2012/10/24
1.5W
0
Python数据分析工具包--Pandas

Python Data Analysis Library 或 pandas 是连接 SciPy 和 NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集...

匿名
2012/10/30
2.1W
2
轻量级数据存储服务--LLServer

LLServer是本人基于libevent和leveldb这两个开源软件,开发的轻量级数据存储服务器软件,借助libevent高效网络接口实现对leveldb的访问封装。 其支持http协议和memcached协议。也就是可以通过...

代震军
2012/11/06
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

如何在Javascript数组的开头添加新的数组元素?

问题: I have a need to add or prepend elements at the beginning of an array. 我需要在数组的开头添加或添加元素。 For example, if my array looks like below: 例如,如果我的数组如下...

技术盛宴
27分钟前
11
0
神经网络的经典结构是怎么设计出来的?

神经网络的经典结构是怎么设计出来的? 哈哈哈的回答-知乎 https://www.zhihu.com/question/392634888/answer/1391574322 很多神经网络的结构,确实是炼丹,没有什么道理可言。 有一些神经网...

吃着火锅
51分钟前
37
0
误删除flutter中的IOS文件夹如何恢复

今天在使用IOS真机调试app时,由于第一次使用xcode工具,一头蒙,所以误操作删除了targets下Runner,直接导致不能使用。 关键是找不到怎么恢复。如出现下图所示,都可以使用本方法解决。 图1...

学渣要逆袭
54分钟前
32
0
2021张宇考研数学全程班视频百度云

2021张宇考研数学全程班视频百度云资料链接:https://shimo.im/docs/xwSaKVXpLewxjT6x/ 公众号:小麦麦资料库

a先生gg
59分钟前
48
0
内存泄漏和内存溢出

1. 内存泄漏和内存溢出的概念 内存溢出: 是指程序运行过程中申请的内存大于系统能够提供的内存,导致无法申请到足够的内存。 内存泄漏:是指程序运行过程中分配内存给临时变量,用完之后没有...

加油加油再加油
今天
31
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部